我希望选择 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
Run Code Online (Sandbox Code Playgroud)
期望的输出
>>> df
a b
0 A1 A1
1 A5 A2
2 A1 A3
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用df.loc但没有成功。
用
In [905]: df.apply(lambda x: x.str[:2])
Out[905]:
a b
0 A1 A1
1 A5 A2
2 A1 A3
Run Code Online (Sandbox Code Playgroud)
或者,
In [908]: df.applymap(lambda x: x[:2])
Out[908]:
a b
0 A1 A1
1 A5 A2
2 A1 A3
Run Code Online (Sandbox Code Playgroud)