【发布时间】:2021-09-10 07:20:32
【问题描述】:
我有一个如下的数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({'id': [12124,12124,5687,5687,7892],
'A': [np.nan,np.nan,3.05,3.05,np.nan],'B':[1.05,1.05,np.nan,np.nan,np.nan],'C':[np.nan,np.nan,np.nan,np.nan,np.nan],'D':[np.nan,np.nan,np.nan,np.nan,7.09]})
我想获得 A、B、C 和 D 列的箱线图,其中每列中的冗余行值只需要计算一次。我该如何做到这一点?
【问题讨论】:
-
抱歉,您的问题有点不清楚。请在此处查看如何提出一个好的 pandas 问题:stackoverflow.com/questions/20109391/… 对于箱线图,您需要在问题中包含更多可复制和可粘贴的数据行(无图像)。你不能仅仅从一行数据中创建一个好的箱线图
-
df.drop_duplicates().boxplot(column=['A', 'B', 'C', 'D'])?? -
在这种情况下,id 和各个列需要组合为一个复合键。因为 A 列中的相同值 3.05 可以再次出现在 A 列上。
-
drop_duplicates没有子集只会在整行匹配时删除行。 -
这就是解决方案然后@HenryEcker
标签: python pandas matplotlib boxplot