2024-09-29 23:32:46 发布
网友
我想根据单元格大小修改单元格值
如果日期框架如下所示:
A B C 25802523 X1 2 M25JK0010 Y1 1 K25JK0010 Y2 1
我想修改“A”列并插入另一列。 例如,如果第一个单元格的值A列的大小是8,我想把它打破,得到至少5个值,同样地,其他值取决于每个单元格的大小
我有办法做到吗
您可以这样做:
t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445'], 'size': [2, 1, 8]} )
根据相应的大小定义所需最终长度的字典。这里如果大小是8我将采取最后5个字符
size_dict = {8: 5, 2: 3, 1: 4}
然后使用一个简单的pandas apply
pandas apply
t['A_bis'] = t.apply(lambda x: x['A'][len(x['A']) - size_dict[x['size']]:], axis=1)
结果是
0 523 >> 3 last characters (key 2) 1 0010 >> 4 last characters (key 1) 2 R4445 >> 5 last characters (key 8)
另一种方法是:
样品测向:
t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445']})
获取每个元素的计数:
t['Count'] =(t['A'].apply(len))
然后写一个要替换的条件:
t.loc[t.Count == 8, 'Number'] = t['A'].str[-5:]
您可以这样做:
根据相应的大小定义所需最终长度的字典。这里如果大小是8我将采取最后5个字符
然后使用一个简单的
pandas apply
结果是
另一种方法是:
样品测向:
获取每个元素的计数:
然后写一个要替换的条件:
相关问题 更多 >
编程相关推荐