簡體   English   中英

使用pandas groupby或其他功能對多個數據幀進行子集化的簡單方法?

[英]Simple way to subset multiple data frames with pandas groupby or other function?

我有一個帶有此命令result = pd.concat([Value, Date], axis=1)得到的兩列的DataFrame result = pd.concat([Value, Date], axis=1)

import pandas as pd

>>> result
                         Value      Date
189                        9.0  11/14/15
191                       10.0  11/14/15
192                        1.0  11/14/15
193                        4.0  11/14/15
...                        ...       ...
2920                       6.0   2/20/16
2921                       8.0   2/20/16
2923                      10.0   2/20/16
2925                       2.0   2/20/16

但是我需要的是每個Date的所有Value數據的多個數據框。 我知道我可以執行類似x = result.groupby('Date').mean()給了我的平均Value為每一個Date ,但我想這是用來生產平均在自己的數據幀的實際數據。

是否有另一個參數或函數可以簡單地獲取此數據幀?

從您的意見,您可以使用seaborn直接繪制distplot的所有日期沒有任何分組或循環FacetGrid 這是12天的虛假數據,然后是情節。

創建虛假數據,然后繪圖

date = pd.date_range('1-1-2016', '1-13-2016', freq='h', closed='left').date
df = pd.DataFrame({'num' : np.random.rand(len(date)), 'date':date})

g = sns.FacetGrid(df, col='date', col_wrap=4)
g.map(sns.distplot, "num", hist=False, rug=True)

在此處輸入圖片說明

您的具體數據

g = sns.FacetGrid(result, col='Date', col_wrap=4)
g.map(sns.distplot, 'Value', hist=False, rug=True)

您需要一個放置每個DataFrame的地方。 假設您將其放入字典d

d = {day: group for day, group in result.groupby('Date')}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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