【发布时间】:2019-09-06 23:50:25
【问题描述】:
我试图弄清楚如果满足某些条件是否可以重命名列标题。我有一个熊猫数据框:
import pandas as pd
data = [[1,'Joe', '2018', 5,7,9]]
df = pd.DataFrame(data, columns = ['ID', 'Name', 'Year', 'FallScore', 'WinterScore', 'SpringScore'])
print(df)
ID Name Year FallScore WinterScore SpringScore
0 1 Joe 2018 5 7 9
如果列中包含“Fall”、“Winter”或“Spring”,则将字符串“NEW”添加到列标题的末尾。这是所需输出的样子。
df_desired = pd.DataFrame(data, columns = ['ID', 'Name', 'Year', 'FallScoreNEW', 'WinterScoreNEW', 'SpringScoreNEW'])
print(df_desired)
ID Name Year FallScoreNEW WinterScoreNEW SpringScoreNEW
0 1 Joe 2018 5 7 9
我能够获得每个术语的布尔值数组,但无法弄清楚如果找到“秋季”、“冬季”或“春季”,如何替换列标题。请注意,我不知道实际的列标题,我只知道它们将包含“Fall”、“Winter”或“Spring”
我得到一个布尔值数组的方法在这里:
df.columns.str.contains('Fall')
df.columns.str.contains('Winter')
df.columns.str.contains('Spring')
任何帮助将不胜感激!
【问题讨论】:
标签: python pandas dataframe rename