[英]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.