我有15个csv文件,其中一列代表年份。问题是年份列被命名为“年份”。在一些文件和'年_'在另一个。所以我有两列对我有相同信息,但由于每个文件只有一个列名(年份或年份),如果第1行在'年',' year_& #39;有NaN。我想将这两列合并,以便我可以摆脱NaN。这样做的最佳方式是什么?
在
year year_
1 NaN 1999
2 2002 NaN
3 2000 NaN
.
.
.
N NaN 2004
我希望这是
在
year
1 1999
2 2002
3 2000
.
.
.
N 2004
答案 0 :(得分:4)
您可以使用combine_first功能。
df['YEAR'] = df['year'].combine_first(df['year_'])
其中df['year']
为默认值,df['year2']
将用于填充空值。
答案 1 :(得分:2)
鉴于只有一个具有有效值,您可以简单地在轴1上对它们求和
year_cols = df.columns[df.columns.str.contains('year')]
df['year'] = df[year_cols].sum(1)
答案 2 :(得分:0)
与@Vaishali相同的想法:你可以将年份列相加;使用filter
选择列:
df.filter(like='year').sum(axis=1)