python - Pandas loc 返回的是系列而不是 df

标签 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 正确地反射(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/

相关文章:

python - 创建一个新的范围,如 javascript

python - 如何在 pandas 中获取数据框的多个列切片

python - Jupyter Notebook无法识别pandas库: Python

python - 对 pandas 数据框中的条目进行分组

python - 有没有更快的方法将一列 pyspark 数据框转换为 python 列表? (收集()很慢)

python - 用 Celery 取消已经执行的任务?

python - sys.argv[1]索引错误: list index out of range

python - 如何从字符串列表创建 2 列二进制 numpy 数组?

python - 如何隐藏行索引

Python:如何使用 networkx 创建与另一个数据框对应的图形?