如何修改DataFrame列标题的日期格式?现有方法误改列内容求助
修改DataFrame列名的正确操作
你用df.loc[24,"4/16/20"]定位的是第24行、列名为"4/16/20"的单元格,所以只会修改单元格内容,而非列名。以下是几种正确修改列名的方法:
方法1:精准修改单列列名(推荐)
使用rename方法,直接指定要替换的列名映射,清晰直观:
# 直接替换指定列名,inplace=True表示修改原DataFrame df.rename(columns={"4/16/20": "2020-04-16"}, inplace=True)
如果不想修改原DataFrame,去掉inplace=True,将结果赋值给新变量:
new_df = df.rename(columns={"4/16/20": "2020-04-16"})
方法2:通过列索引修改
先找到目标列的索引位置,再修改列名数组:
# 获取目标列的索引 col_position = df.columns.get_loc("4/16/20") # 修改列名 df.columns.values[col_position] = "2020-04-16"
方法3:统一格式化所有日期列名
如果需要把所有列名的日期格式统一为YYYY-MM-DD,可以用pd.to_datetime批量转换:
import pandas as pd # 转换所有列名为日期格式,再转为指定字符串格式 df.columns = pd.to_datetime(df.columns).strftime("%Y-%m-%d")
内容的提问来源于stack exchange,提问作者denshizzle
相关产品推荐
相关产品推荐

