【问题标题】:Get Box Plot From Redundant Rows从冗余行获取箱线图
【发布时间】: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


【解决方案1】:

因为panda只能处理每列长度相同且每行长度相同的dataFrame。换言之,只能处理框形数据。如果 null 值只需要计算一次,可能会与“panda”包的原则相冲突。这是我的建议:您可以将数据框转换为列表The detailed code of transforming the dataFrame into list 然后你可以尝试从列表数据和索引列绘制箱线图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    相关资源
    最近更新 更多