非常抱歉,我之前的回答有误。在循环遍历 DataFrame 并修改列时,使用 iterrows()
方法并直接对行进行赋值是不会成功修改原始 DataFrame 的。
要正确地修改 DataFrame 中的列,可以使用 .loc
属性来访问和修改特定位置的值。以下是正确的示例代码:
import pandas as pd
# 创建示例数据
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['Beijing', 'Shanghai', 'Guangzhou']}
df = pd.DataFrame(data)
# 循环修改列
for index, row in df.iterrows():
df.loc[index, "Name"] = '123'
# 保存为 CSV 文件
df.to_csv('modified_data.csv', index=False)
在上述代码中,我们使用 iterrows()
方法迭代 DataFrame 的每一行,并使用 .loc[index, column]
来修改特定位置的值。在这个示例中,我们将 "Name" 列的值修改为 "123"。
最后,我们使用 to_csv()
方法将修改后的 DataFrame 保存为名为 modified_data.csv
的文件。
对于较大的数据集,使用 iterrows()
可能会导致性能问题。如果可能的话,尽量使用向量化操作或其他效率更高的方法来修改 DataFrame。
再次对之前的错误回答表示歉意,并感谢您的理解!如果还有任何问题,请随时提问。