我想通过使用select date_part(day, last_day(datecol))
替换错误data.columns.str.replace(' ', '_', inplace=True)
来替换数据框标题中的符号
我也尝试在一行TypeError: replace() got an unexpected keyword argument 'inplace'
中替换多个符号我收到错误data.columns.str.replace([' ', ' - '], '_')
这个有效,TypeError: unhashable type: 'list'
,但理想情况下,我想一次替换标题中的多个符号。
答案 0 :(得分:1)
您需要重新分配,因为inplace
不是参数,并且可以将要替换的符号与|
连接起来,例如:
df.columns = df.columns.str.replace(' |-', '_')
答案 1 :(得分:0)
不确定这是否是最好的方法,但是如果要对字符串使用replace并就地进行更改,则可以为df.rename()方法生成一个字典参数:
# Dummy dataframe
data = {'A heading': [1,4,7,9], 'B - Heading': [2, 4, 3, 1]}
df = pd.DataFrame(data)
# Create a list of the new columns using list comprehension and .replace()
new_cols = [h.replace(' - ','_').replace(' ', '_') for h in df.columns]
# Pack into a dictionary with old columns as keys and new columns as values
replace_dict = dict(zip(df.columns, new_cols))
replace_dict
# Use the .rename() method to rename in place
df.rename(columns=replace_dict, inplace=True)