pandas dataframe修改时如何保存为CSV文件?支持逐次/最终保存
Pandas DataFrame修改及按需求保存实现方案
方案1:逐行检测修改+即时覆盖保存
该方案会逐行判断第一列数值是否符合修改条件,每完成一行的修改就立刻执行CSV保存覆盖,示例中有3条符合条件的数据,对应触发3次保存动作。
import pandas as pd data = {'numbers': [11, 12, 13, 14, 15], 'switch' : ['OFF', 'OFF', 'OFF', 'OFF', 'OFF']} df = pd.DataFrame(data) save_path = './result.csv' # 逐行遍历判断 for idx, num in enumerate(df['numbers']): if num >= 13: df.loc[idx, 'switch'] = 'ON' # 修改完成立刻保存覆盖 df.to_csv(save_path, index=False) print(df)
方案2:全量修改完成后一次性保存
该方案执行效率更高,不需要频繁IO操作,批量完成所有符合条件的修改后,仅执行一次保存动作。
import pandas as pd data = {'numbers': [11, 12, 13, 14, 15], 'switch' : ['OFF', 'OFF', 'OFF', 'OFF', 'OFF']} df = pd.DataFrame(data) save_path = './result.csv' # 批量修改符合条件的行 df.loc[df['numbers'] >= 13, 'switch'] = 'ON' # 一次性保存最终结果 df.to_csv(save_path, index=False) print(df)
两种方案的运行输出结果一致:
numbers switch 0 11 OFF 1 12 OFF 2 13 ON 3 14 ON 4 15 ON
内容的提问来源于stack exchange,提问作者Lucas Schwartz
相关产品推荐
相关产品推荐

