Pandas Loc返回系列而不是df

时间:2018-08-12 15:38:28

标签: python pandas

当我想要df时,以下代码为y返回一个序列。最终,我要从较大的原始df(df)中提取行以创建较小的df(Cand)结果。我已将Cand创建为要填充的新的空df。

Cand = pd.DataFrame(columns=['SR','Hits','Breaks'])

x = df.loc[df['Breaks'] == 0]
y = x.loc[x['Hits'].idxmax()]

Cand.append(y)

x正确地反映为df,但是y变成了一个序列,因此不会填充Cand。

我环顾四周,但找不到类似的问题。预先感谢。

1 个答案:

答案 0 :(得分:0)

您的问题不在于您没有将DataFrame传递给append(),而是这里的.append()不在适当的位置;假定append() 返回您的初始DataFrame + other ,请尝试将Cand的返回值重新分配为Cand = Cand.append(y)append (在这种情况下,请按Cand + y )。

旁注:

您可以使用双方括号从.loc返回DataFrame。
示例:y = x.loc[[x['Hits'].idxmax()]]