import pandas as pd
# Read the CSV file
df = pd.read_csv('input.csv')
# Print the original column names
print("Original column names:")
print(df.columns)
# Rename the columns and assign the renamed DataFrame to a new variable
df_renamed = df.rename(columns={'AREA': 'SA2_code', 'Area': 'SA2_name', 'Value': 'RegSmokers_cnt'})
# Print the new column names
print("New column names:")
print(df_renamed.columns)
# Save the renamed DataFrame to a new CSV file
df_renamed.to_csv('output.csv', index=False)
2条答案
按热度按时间ztigrdn81#
您提供的代码看起来基本正确,但是在重命名列时,inplace参数有一个小问题。直接在DataFrame上使用rename方法时,应将inplace参数设置为True。但是,由于您希望将更改保存到新的CSV文件中,因此不需要使用inplace参数。相反,您可以将重命名的DataFrame分配给新变量,然后使用to_csv方法将其保存到新的CSV文件中。下面是更新后的代码:
字符串
这段代码将读取CSV文件,按照指定的方式重命名列,在终端中显示原始和新的列名,然后将重命名的DataFrame保存到名为“output.csv”的新CSV文件中。to_csv中的index=False参数确保索引不会在输出CSV文件中另存为单独的列。
yqkkidmi2#
所提供的代码的问题是,inplace=True参数与rename()方法一起使用,这意味着DataFrame被就地修改,并且该方法不会返回具有更新的列名的新DataFrame。这就是为什么在打印df.columns时看不到更新的列。
尝试以下操作:
字符串