簡體   English   中英

Python和pandas,groupby只在DataFrame列

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM