Python 重命名多个NaN列名
读取csv文件时,我的数据框具有以下列名:Python 重命名多个NaN列名,python,pandas,dataframe,Python,Pandas,Dataframe,读取csv文件时,我的数据框具有以下列名: df.列: 索引([nan,“A”,nan,“B”,“C”,nan],dtype='object') 由于未知原因,它不会像通常那样自动将它们命名为“Unnamed:0”等等 因此,可以将多个nan列重命名为Unnamed:0、Unnamed:1等,根据存在的nan列的数量,nan列的数量会有所不同。首先将列转换为系列,然后对布尔条件应用累积计数cumcount,如果出现空值,则该条件为真。然后使用条件值填充空值 s = pd.Series(df.co
df.列
:
索引([nan,“A”,nan,“B”,“C”,nan],dtype='object')
由于未知原因,它不会像通常那样自动将它们命名为“Unnamed:0”
等等
因此,可以将多个
nan
列重命名为Unnamed:0、Unnamed:1等,根据存在的nan
列的数量,nan
列的数量会有所不同。首先将列转换为系列
,然后对布尔条件应用累积计数cumcount
,如果出现空值,则该条件为真。然后使用条件值填充空值
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