当我想要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。
我环顾四周,但找不到类似的问题。提前致谢。
最佳答案
您的问题不是您没有将DataFrame传递给append()
,而是这里的.append()
不在原地;尝试将append()
的返回值重新分配为Cand
到Cand = Cand.append(y)
,因为append
返回您的初始DataFrame + other(在这种情况下为Cand + y)。
边注:
您可以使用双方括号从.loc
返回DataFrame。
示例:y = x.loc[[x['Hits'].idxmax()]]