我正在和 Pandas 打架,现在我正在失去。我有与此类似的源表:

import pandas as pd

a=pd.Series([123,22,32,453,45,453,56])
b=pd.Series([234,4353,355,453,345,453,56])
df=pd.concat([a, b], axis=1)
df.columns=['First', 'Second']

我想从列“First”中的值的第一位将新列添加到此数据框:
a)将数字从“第一”列更改为字符串
b)从新创建的字符串中提取第一个字符
c)来自b的结果另存为数据框中的新列

我不知道如何将其应用于 Pandas 数据框对象。我将非常感谢您的帮助。

最佳答案

将col的dtype转换为str,然后可以执行矢量化切片,调用str:

In [29]:
df['new_col'] = df['First'].astype(str).str[0]
df

Out[29]:
   First  Second new_col
0    123     234       1
1     22    4353       2
2     32     355       3
3    453     453       4
4     45     345       4
5    453     453       4
6     56      56       5

如果需要,可以再次将dtype转换回该列上的astype(int)

09-15 20:38