我希望在a列和b列中选择每行的前两个元素。
这是一个例子
df = pd.DataFrame({'a': ['A123', 'A567','A100'], 'b': ['A156', 'A266666','A35555']})
>>> df
a b
0 A123 A156
1 A567 A266666
2 A100 A35555
期望的输出
>>> df
a b
0 A1 A1
1 A5 A2
2 A1 A3
我一直在尝试使用df.loc
但未成功。
答案 0 :(得分:2)
使用
In [905]: df.apply(lambda x: x.str[:2])
Out[905]:
a b
0 A1 A1
1 A5 A2
2 A1 A3
或者,
In [908]: df.applymap(lambda x: x[:2])
Out[908]:
a b
0 A1 A1
1 A5 A2
2 A1 A3
答案 1 :(得分:1)
In [107]: df.apply(lambda c: c.str.slice(stop=2))
Out[107]:
a b
0 A1 A1
1 A5 A2
2 A1 A3