【发布时间】:2021-09-23 17:47:28
【问题描述】:
我有一个这样的熊猫df:
ID EpisodeID Origin Destination
1 1 A B
1 2 B A
2 1 C D
2 2 D E
2 3 E C
3 1 A D
3 2 D A
我想制作一个以df 为源的txt 文件。因此,我使用这样的代码:
with open("output.txt","w+") as f:
for index, row in df.iterrows():
f.write(" <person id =\"%s\">\n" % (row['ID']))
f.write(" <activity O=\"%s"\ D=\"%s"\>\n % (row[Origin], row[Destination]))
f.write(" </activity>\n")
f.write(" </person>\n")
输出显示如下:
<person id="1">
<activity O="A" D="B">
</activity>
</person>
<person id="1">
<activity O="B" D="A">
</activity>
</person>
然而,我想做的不是这样。如何迭代或编写代码,以便输出类似于:
<person id="1">
<activity O="A" D="B">
</activity>
<activity O="B" D="A">
</activity>
</person>
<person id="2">
<activity O="C" D="D">
</activity>
<activity O="D" D="E">
</activity>
<activity O="E" D="C"
</activity>
</person>
所以,我要为每个 ID 制作什么,而不是为所有索引制作(如果这有意义的话)。
请帮忙:)
【问题讨论】:
-
按 ID 分组;然后在迭代组时构建字符串。 pandas.pydata.org/docs/user_guide/…