当读取csv文件时,我的数据框有这些列名。
df.columns
:
Index([nan,"A", nan, "B", "C", nan],dtype='object')
不知道为什么,它没有自动将它们命名为 "Unnamed:0"
等通常的做法。
因此,是否可以将多个 nan
列改为Unnamed:0,Unnamed:1,以此类推,取决于有多少个 nan
栏的数量。nan
列名各不相同。
首先将你的列转换为 "Unnamed:0 "和... 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