【发布时间】:2021-04-27 21:45:27
【问题描述】:
我有一些由 1 列和 5 行组成的熊猫数据框,每个数据框包含 3 个值,“1”、“0”和“P”。这些数据框属于“对象”类型。
当我将数据框添加在一起时遇到了问题。我给你举个例子:
df1 = [ 1, P, 0, 1, 1]
df2 = [1, P, 1, 1,1]
df1 + df2 = [11, PP, 01, 11,11]
注意:“P”在所有数据帧中始终位于同一位置。因此,当将数据帧加在一起时,例如我可以得到“PPPPP”。
在上面的示例中,我试图让输出为:
df1 + df2 = [2, P, 1, 2, 2]
我在想的是使用 pandas 使每个数据框列数字化,然后我应该能够将它们加在一起。
pd.to_numeric(df1["my df title"], errors='coerce')
这样做的问题是“P”值无法转换为数字。如何使除 p 值之外的所有内容都变成数字?
当我添加 df1 + df2 + df3 + df4 时,我的真实数据框是什么样子的:
0 1111
1 PPPP
2 1111
3 1111
4 PPPP
【问题讨论】:
-
您能添加一个合适的数据框示例吗?我只看到三个列表,如果数据不敏感,您可以
print(df.head(5).to_dict())并将输出粘贴到此处。 -
我已经添加了添加的样子。
-
df1 = [ 1, P, 0, 1, 1]不是 DataFrame,它是由整数和变量P组成的列表。请使用您的 DataFrames 发布完全可重现的代码