Python 查找日期框中单元格的索引

Python 查找日期框中单元格的索引,python,Python,我想根据单元格大小修改单元格值 如果日期框如下所示: A B C 25802523 X1 2 M25JK0010 Y1 1 K25JK0010 Y2 1 我想修改列“A”并插入到另一列。 例如,如果第一个单元格值为1,则列A的大小为8。我想打破它,得到至少5个值,同样地,其他值取决于每个单元格的大小 我有办法做到这一点吗?你可以做到: t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJ

我想根据单元格大小修改单元格值

如果日期框如下所示:

  A         B    C
 25802523   X1   2
 M25JK0010  Y1   1
 K25JK0010  Y2   1
我想修改列“A”并插入到另一列。 例如,如果第一个单元格值为1,则列A的大小为8。我想打破它,得到至少5个值,同样地,其他值取决于每个单元格的大小

我有办法做到这一点吗?

你可以做到:

t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445'],
                  'size': [2, 1, 8]} )
根据相应的大小定义所需最终长度的字典。这里,如果大小是8,我将使用最后5个字符

size_dict = {8: 5, 2: 3, 1: 4}
然后使用一个简单的
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'],
                  'size': [2, 1, 8]} )
根据相应的大小定义所需最终长度的字典。这里,如果大小是8,我将使用最后5个字符

size_dict = {8: 5, 2: 3, 1: 4}
然后使用一个简单的
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)

另一种方法是:

样本df:

t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445']})
获取一个元素的每个元素的计数:

t['Count'] =(t['A'].apply(len))
然后写一个要替换的条件:

t.loc[t.Count == 8, 'Number'] = t['A'].str[-5:]

另一种方法是:

样本df:

t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445']})
获取一个元素的每个元素的计数:

t['Count'] =(t['A'].apply(len))
然后写一个要替换的条件:

t.loc[t.Count == 8, 'Number'] = t['A'].str[-5:]