繁体   English   中英

无法更改 dataframe 中的列名

[英]Unable to change a column name in a dataframe

我正在处理一些调查数据,并希望用标准偏差绘制一些结果。

我可以使用 std 值成功创建新列,但它为列命名(问题 3,std)。 然后我尝试重命名列“std”,但列名没有改变。

new_df = df.groupby('Respondants')[['Question 3']].agg({'std'})
std_df = df.merge(new_df, left_on=['Respondants'], right_index=True)
col_dict = {'Question 3': 'std'} 
std_df.columns = [col_dict.get(x, x) for x in std_df.columns]

我错过了什么?

编辑:奇怪的是我现在尝试过:

new_df = df.groupby('Respondants')[['Question 3']].agg({'std'})
std_df = df.merge(new_df, left_on=['Respondants'], right_index=True)
std_df.rename(columns={'(Question 3, std)': 'std'}, inplace=True)
std_df.head(200)

结果是一样的。 但如果我尝试:

new_df = df.groupby('Respondants')[['Question 3']].agg({'std'})
std_df = df.merge(new_df, left_on=['Respondants'], right_index=True)
std_df.rename(columns={'Question 1': 'whatever'}, inplace=True)
std_df.head(200)

该列名称更改,因此代码有效,但不适用于我需要的列。

使用rename DataFrame 的 function :

std_df.rename(columns={'(Question 3, std)': 'std'}, inplace=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM