【发布时间】:2019-11-06 03:33:19
【问题描述】:
给定一个 Pandas 数据框,例如:
Name Age
John 20
Mary 65
Bob 55
我希望遍历行,确定每个人是否是老年人(年龄> = 60),创建一个带有额外列的新条目,然后将其附加到一个 csv 文件中,这样它(csv 文件) 内容如下:
Name Age Senior
John 20 False
Mary 65 True
Bob 55 False
除了将数据保存到 csv 之外,我还可以通过将循环当前正在迭代的系列转到字典然后添加新键来完成其余的工作。
for idx, e in records.iterrows():
entry = e.to_dict()
entry["senior"] = (entry["age"]<60)
仅将 dict 转换为系列到数据框并不能正确地将其写入 csv 文件。是否有熊猫或非熊猫的方式来完成这项工作?
重要编辑:上面是一个简化的例子,我正在处理数百行,我要添加的数据是一个长字符串将在运行时创建 strong>,所以循环是强制性的。此外,将其添加到原始数据帧不是一个选项,因为我很确定我会在某个时候用完程序内存(因此我无法将数据添加到原始数据帧,也无法创建包含所有信息的新数据帧)。 我不想将数据添加到原始数据框中,只想添加到“行”的副本,然后将其附加到 csv。
给出这个例子是为了为我的问题提供一些背景,但主要关注点应该放在问题上,而不是例子上。
【问题讨论】:
-
看起来很简单。在每次迭代中,使用要写入文件的行构建一个字符串,然后将该字符串写入文件。
标签: python pandas loops csv dataframe