[英]Python and pandas, groupby only column in DataFrame
我想在名为“类型”的列中对一些字符串进行分组并将它们插入 plotly 栏中,问题是从使用 groupby 创建的新表中我无法提取 x 和 y 以在图中定义它们:
tipol1 = df.groupby(['tipology']).nunique()
tipol1
outpot 给我 tipology 作为索引,并根据它们重复的次数进行分组
number data
typology
one 2 113
two 33 33
three 12 88
four 44 888
five 11 66
在数字列中(我有其他值,它给了我 tipology 列的正确分组)也在日期列中,它给了我值(我认为对日期进行分组,但不是正确格式的日期)我还发现:
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 轴,以便将它们导入到图表中! 所以没有一列应该是索引
默认情况下,方法groupby
将返回一个 dataframe,其中您分组的字段将在 dataframe 的索引中。您可以通过在 group by 中设置as_index=False
来调整此行为。 然后tipology
仍然是返回的 dataframe 中的一列:
tipol1 = df.groupby('tipology', as_index=False).nunique()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.