创建循环以从数据框中动态选择行,然后将选定的行附加到另一个数据框中:df.query()

时间:2019-02-01 01:52:33

标签: python pandas dataframe

我目前正在使用熊猫中的数据框。总而言之,我有一个名为“ Claims”的数据框,其中填充了客户索赔数据,并且我想根据“零件ID”字段中的唯一值来解析该数据框中的所有行。然后,我想将每一组行都一次附加到一个名为“ emptydf”的空数据框中。该数据框具有与“声明”数据框相同的列标题。由于“部件ID”列中的值每周都在变化,因此我想找到一种动态地执行此操作的方法,而不是每周手动遍历数据框。我正在考虑以某种方式合并df.where()表达式和一个For循环,但是对于如何将它们全部组合在一起却一无所知。任何关于如何做到这一点的见解,甚至是一些更好的方法,都将很棒!到目前为止,我的代码分为以下两个步骤:

  1. emptydf =索赔[0:0]

#创建空数据框

2.Parse_Claims = Claims.query('Part_ID == 1009')

emptydf = emptydf.append(Parse_Claims)

#通过每个唯一的部件ID号解析数据框,并将其追加到空数据框。如您所见,到目前为止,我一次只能硬编码一个部件ID号。这将需要几个小时才能手动完成,因此我很想找出一种方法来遍历“零件ID”列并动态附加数据。

不用说,我是Python的新手,因此,我一定要感谢您的耐心配合!

1 个答案:

答案 0 :(得分:1)

empty_df = list(Claims.groupby(Claims['Part_ID']))

这将为每个部件ID创建一个元组列表。每个元组都有2个元素,第一个是部件ID,第二个是该部件ID的子集