读取csv文件时,我的数据框具有以下列名称:
df.columns
:
Index([nan,"A", nan, "B", "C", nan],dtype='object')
由于未知原因,它不会像通常那样自动将它们命名为"Unnamed:0"
。
因此,有可能将多个nan
列重命名为Unnamed:0,Unnamed:1,依此类推,具体取决于有多少nan
列-nan
的数量列会有所不同。
答案 0 :(得分:1)
首先将列转换为series
,然后将累积计数cumcount
应用于布尔条件,如果出现空值,则为True。然后使用条件值填充空值。
s = pd.Series(df.columns)
print(s)
0 NaN
1 A
2 NaN
3 B
4 C
5 NaN
s = s.fillna('unnamed:' + (s.groupby(s.isnull()).cumcount() + 1).astype(str))
print(s)
0 unnamed:1
1 A
2 unnamed:2
3 B
4 C
5 unnamed:3
dtype: object
df.columns = s