gpt4 book ai didi

python - 如何将字符串方法应用于数据框的多列

转载 作者:太空狗 更新时间:2023-10-30 00:53:02 28 4
gpt4 key购买 nike

我有一个包含多个字符串列的数据框。我想使用一个字符串方法,该方法对数据框的多个列上的系列有效。像这样的东西是我想要的:

df = pd.DataFrame({'A': ['123f', '456f'], 'B': ['789f', '901f']})
df

Out[15]:
A B
0 123f 789f
1 456f 901f

df = df.str.rstrip('f')
df
Out[16]:
A B
0 123 789
1 456 901

显然,这不起作用,因为 str 操作仅对 pandas Series 对象有效。执行此操作的合适/最适合 Pandas 的方法是什么?

最佳答案

函数rstrip使用 Series 所以可以使用 apply :

df = df.apply(lambda x: x.str.rstrip('f'))

或通过 stack 创建系列最后unstack :

df = df.stack().str.rstrip('f').unstack()

或者使用applymap :

df = df.applymap(lambda x: x.rstrip('f'))

Last if 需要对某些列应用函数:

#add columns to lists
cols = ['A']
df[cols] = df[cols].apply(lambda x: x.str.rstrip('f'))
df[cols] = df[cols].stack().str.rstrip('f').unstack()
df[cols] = df[cols].stack().str.rstrip('f').unstack()

关于python - 如何将字符串方法应用于数据框的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52099068/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com