在 Pandas 系列上链接字符串操作

tom*_*n4a 5 python pandas

我最近发现了strPandas 系列的方法,它很棒!但是,如果我想链接操作(例如,一对replace和一个strip),我需要str在每次操作后继续调用,使其不是最优雅的代码。

例如,假设我的列名包含空格和句点,我想用下划线替换它们。我可能还想去除任何剩余的下划线。如果我想使用str方法来做到这一点,有没有办法避免必须运行:

df.columns.str.replace(' ', '_').str.replace('.', '_').str.strip('_')

谢谢!

jez*_*ael 7

我认为str每个.str功能都需要重复,这是根据设计而定的。


但这里可能只使用一个replace

df = pd.DataFrame(columns=['aa dd', 'dd.d_', 'd._'])

print (df)
Empty DataFrame
Columns: [aa dd, dd.d_, d._]
Index: []

print (df.columns.str.replace('[\s+.]', '_').str.strip('_'))
Index(['aa_dd', 'dd_d', 'd'], dtype='object')
Run Code Online (Sandbox Code Playgroud)