不对Pandas列的所有行应用相同的函数?

时间:2018-05-10 15:29:07

标签: python pandas apply

我想从pandas列的值中取出第一个3而不进行循环。

所以,

df['myCol'][3]
5475

为了提取我做的前3位数字:

int(str(df['myCol'][3])[:2])
547

我想对整个列应用所有相同的过程。我该怎么办?

1 个答案:

答案 0 :(得分:2)

假设您有一个数字列:

In [189]: df
Out[189]:
    myCol
0    5475
1   99999
2  123456

In [190]: df.dtypes
Out[190]:
myCol    int64
dtype: object

In [191]: df['myCol'] // 10**(np.log10(df.myCol).astype(int) - 2)
Out[191]:
0    547
1    999
2    123
Name: myCol, dtype: int64