Pandas重命名csv列并保存

tv6aics1  于 2023-07-31  发布在  其他
关注(0)|答案(2)|浏览(157)

我有一个csv文件,其中包含三列,我需要将其重命名并保存到文件中。
使用此代码,输出仅显示在终端中

import pandas as pd

df = pd.read_csv('input.csv')

print(df.columns)

df = df.rename(columns={'AREA':'SA2_code','Area':'SA2_name','Value':'RegSmokers_cnt'},
inplace=True)

字符串

ztigrdn8

ztigrdn81#

您提供的代码看起来基本正确,但是在重命名列时,inplace参数有一个小问题。直接在DataFrame上使用rename方法时,应将inplace参数设置为True。但是,由于您希望将更改保存到新的CSV文件中,因此不需要使用inplace参数。相反,您可以将重命名的DataFrame分配给新变量,然后使用to_csv方法将其保存到新的CSV文件中。下面是更新后的代码:

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)

字符串
这段代码将读取CSV文件,按照指定的方式重命名列,在终端中显示原始和新的列名,然后将重命名的DataFrame保存到名为“output.csv”的新CSV文件中。to_csv中的index=False参数确保索引不会在输出CSV文件中另存为单独的列。

yqkkidmi

yqkkidmi2#

所提供的代码的问题是,inplace=True参数与rename()方法一起使用,这意味着DataFrame被就地修改,并且该方法不会返回具有更新的列名的新DataFrame。这就是为什么在打印df.columns时看不到更新的列。
尝试以下操作:

import pandas as pd

df = pd.read_csv('input.csv')

print(df.columns)

df_updated = df.rename(columns={'AREA': 'SA2_code', 'Area': 'SA2_name', 'Value': 'RegSmokers_cnt'})

print(df_updated.columns)

df_updated.to_csv('output.csv', index=False)

字符串

相关问题