【发布时间】:2020-11-13 20:43:08
【问题描述】:
我想在名为“type”的列中对一些字符串进行分组并将它们插入到一个绘图栏中,问题是从使用 groupby 创建的新表中我无法提取 x 和 y 以在图:
tipol1 = df.groupby(['tipology']).nunique()
tipol1
outpot 给了我作为索引的类型,并根据它们重复的次数进行分组
number data
typology
one 2 113
two 33 33
three 12 88
four 44 888
five 11 66
在数字列中(其中我有其他值它给了我正确的拓扑列分组) 同样在日期列中它给了我值(我认为将日期分组但不是正确格式的日期) 我还发现:
tipol=df.groupby(['tipology']).nunique()
tipol2 = tipol[['number']]
tipol2
只取数字列, 但无事可做,我需要尖端学列(不在索引中)和具有尖端学分组编号的列来获取 x 和 y 轴以将其导入 plotly!
我最后一次尝试(弄得一团糟):
tipol=df.groupby(['tipology'],as_index=False).nunique()
tipol2 = tipol[['number']]
fig = go.Figure(data=[
go.Bar(name='test', x=df['tipology'], y=tipol2)
])
fig.update_layout(barmode='stack')
fig.show()
任何建议 谢谢!
更新
我将有太多的代码来举一个例子,这对我来说会很困难,也会浪费你的时间。基本上我需要一个 groupby 并添加一个显示分组值的列,例如:
tipology Date
home 10/01/18
home 11/01/18
garden 12/01/18
garden 12/01/18
garden 13/01/18
bathroom 13/01/18
bedroom 14/01/18
bedroom 15/01/18
kitchen 16/01/18
kitchen 16/01/18
kitchen 17/01/18
我希望这会发生: 通过删除日期列并在执行计数的 DataFrame 中插入值列
tipology value
home 2
garden 3
bathroom 1
bedroom 2
kitchen 3
然后(我正在使用 jupyer notebook) 离开日期列,并根据它们的分组将对应的值添加到值列中:
tipology Date value
home 10/01/18 1
home 11/01/18 1
garden 12/01/18 2
garden 12/01/18_____.
garden 13/01/18 1
bathroom 13/01/18 1
bedroom 14/01/18 1
bedroom 15/01/18 1
kitchen 16/01/18 2
kitchen 16/01/18_____.
kitchen 17/01/18 1
我需要将这些列分配给 x 轴和 y 轴以将它们导入图表!所以所有列都不应该是索引
【问题讨论】:
-
tipol1 = df.groupby(['tipology']).nunique().reset_index()? -
你也可以使用
tipol1 = df.groupby('tipology', as_index=False).nunique()群的这个方便输入 -
正如我在答案的评论中所写,将索引设置为 False 后的列拓扑返回数值(在这种情况下为 1)
-
@scofx 请考虑共享您的数据样本,如here 解释的那样,这样那些寻求提供可行建议的人就不必整夜重新创建您的挑战,而不是创建一个实际的答案.
-
@vestland 我更新了这个问题,试图更好地解释自己!