当我想要 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 正确地反射(reflect)为 df,但 y 变成了一个序列,因此不会填充 Cand。
我环顾四周,但没有发现类似的问题。提前致谢。
最佳答案
您的问题不是您没有将 DataFrame 传递给 append()
,而是这里的 .append()
未就位;尝试将 append()
的返回重新分配给 Cand
作为 Cand = Cand.append(y)
,因为 append
> 返回您的初始 DataFrame + 其他(在本例中为 Cand + y)。
您可以从.loc
返回一个DataFrame通过使用双方括号。
示例:y = x.loc[[x['Hits'].idxmax()]]
关于python - Pandas loc 返回的是系列而不是 df,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51810322/