我最近发现了strPandas 系列的方法,它很棒!但是,如果我想链接操作(例如,一对replace和一个strip),我需要str在每次操作后继续调用,使其不是最优雅的代码。
例如,假设我的列名包含空格和句点,我想用下划线替换它们。我可能还想去除任何剩余的下划线。如果我想使用str方法来做到这一点,有没有办法避免必须运行:
df.columns.str.replace(' ', '_').str.replace('.', '_').str.strip('_')
谢谢!
我认为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)