如何在列名称中间添加一个单词。像后缀,但不是在最后: 例如:
value_1 value_2 value_3
期望的输出: value_session_1 value_session_2 value_session_3
答案 0 :(得分:2)
replacing很简单,应该有效:
df.columns = df.columns.str.replace('_','_session')
希望有所帮助。快乐的编码。
编辑: 就像@jezrael提到的那样
答案 1 :(得分:1)
将map
与format
一起使用,可以在之前或之后添加字符串:
df.columns = df.columns.map(lambda x: '{0[0]}_session_{0[1]}'.format(x.split('_')))
来自comment of John Galt的str.replace
解决方案:
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: []