将循环内生成的行添加到新数据框中

时间:2016-12-22 19:10:14

标签: python pandas data-science

我有一个<script src="./bundle.js"></script> 循环来迭代数据帧的每一行。现在,当某些表达式匹配时,我想将匹配的行添加到新的数据框中。

这就是我所做的:

for

此处dfWithSand3 = pd.DataFrame() for index, row in df.iterrows(): if row['embarked'] == 'S' and row['pclass'] == 3: dfWithSand3.append(row) print(dfWithSand3) pdpandas为数据框。

每当下面的表达式为df时,我想将该行添加到数据框True

dfWithSand3

现在,数据框if row['embarked'] == 'S' and row['pclass'] == 3: 的值为:

dfWithSand3

以下是可能的Empty DataFrame Columns: [] Index: []

row

我不知道行是否代表数据框。

另外,如何将行添加到我创建的新数据框中?

1 个答案:

答案 0 :(得分:1)

IIUC你可以这样做:

dfWithSand3  = df.loc[(df.embarked == 'S') & (df.pclass == 3)].copy()

或者如果您不想保留原始索引值:

dfWithSand3  = df.loc[(df.embarked == 'S') & (df.pclass == 3)].reset_index().copy()