如何将字符串方法应用于数据帧的多个列
发布时间:2020-12-20 11:07:06 所属栏目:Python 来源:网络整理
导读:我有一个包含多个字符串列的数据框.我想使用一个对数据帧的多个列上的系列有效的字符串方法.这样的事情是我希望的: df = pd.DataFrame({'A': ['123f','456f'],'B': ['789f','901f']})dfOut[15]: A B0 123f 789f1 456f 901fdf = df.str.rstrip('f')dfOut[16]
我有一个包含多个字符串列的数据框.我想使用一个对数据帧的多个列上的系列有效的字符串方法.这样的事情是我希望的:
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对象有效.这样做的适当/最大熊猫方法是什么? 解决方法
功能
rstrip 与系列配合使用可以使用
apply :
df = df.apply(lambda x: x.str.rstrip('f')) 或者在 df = df.stack().str.rstrip('f').unstack() 或者使用 df = df.applymap(lambda x: x.rstrip('f')) 最后如果需要将函数应用于某些列: #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() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |