【发布时间】:2017-05-01 06:54:52
【问题描述】:
这里是新手。 尝试清理显示的以下列名称
1992 | Unnamed: 2 | Unnamed: 3 | 1993 | Unnamed: 4| Unnamed: 5| 1994 | ... | 2015 | Unnamed: 22 | Unnamed: 23|
下一栏是
Male | Female | Population | Male | Female | Population ....
那么,这一行及以后与每个国家的人口有关
我尝试以下方法来清理所有未命名的列名
df.columns = map(lambda x: np.nan if (re.search(r'\bUnnamed:\s\d{1,2}\b', x)) else x, df.columns)
然后我天真地想用pad方法做一个fillna函数......
df_column_names = df_column_names.fillna(method='pad')
显然没用
我是否应该只提取列名,将其作为数据框进行操作并使用fillna(method='pad'),然后神奇地将其与工作数据框合并回来?
这似乎是一种非常笨拙的方法。
【问题讨论】:
-
我很难理解你想要达到的目标。您能否提供您拥有的 DataFrame 示例和您想要实现的示例?
-
我想我有答案了。感谢@Tom83B 的问题。我的解决方案是将上面的 df.columns 转换为 pd.Series,然后运行 fillna(method='pad) 函数。因此,所有 NaN 都将填充上一个年份值。
标签: python pandas columnname