如何在列名中间添加一个单词。像后缀,而不是在最后: 例子:重命名列名一次
VALUE_1 VALUE_2 VALUE_3
所需的输出: value_session_1 value_session_2 value_session_3
如何在列名中间添加一个单词。像后缀,而不是在最后: 例子:重命名列名一次
VALUE_1 VALUE_2 VALUE_3
所需的输出: value_session_1 value_session_2 value_session_3
使用map
与format
,有可能加也串之前或之后:
df.columns = df.columns.map(lambda x: '{0[0]}_session_{0[1]}'.format(x.split('_')))
或者与str.replace
从comment of John Galt解决方案:
df.columns = df.columns.str.replace('_', '_session_')
样品:
df = pd.DataFrame(columns=['value_1','value_2','value_3'])
print (df)
Empty DataFrame
Columns: [value_1, value_2, value_3]
Index: []
df.columns = df.columns.map(lambda x: '{0[0]}_session_{0[1]}'.format(x.split('_')))
print (df)
Empty DataFrame
Columns: [value_session_1, value_session_2, value_session_3]
Index: []
df.columns = df.columns.str.replace('_', '_session_')
print (df)
Columns: [value_session_1, value_session_2, value_session_3]
Index: []
编辑:
df = pd.DataFrame(columns=['va_lue_1','va_lue_2','va_lue_3'])
print (df)
Empty DataFrame
Columns: [va_lue_1, va_lue_2, va_lue_3]
Index: []
df.columns = df.columns.map(lambda x: '{0[0]}_session_{0[1]}'.format(x.rsplit('_', 1)))
print (df)
Empty DataFrame
Columns: [va_lue_session_1, va_lue_session_2, va_lue_session_3]
Index: []
replacing是很容易的,应该工作:
df.columns = df.columns.str.replace('_','_session')
希望这有助于。快乐编码。
编辑: 就像@jezrael mentionned
'df.columns = df.columns.str.replace( '_', '_session _')'? – Zero