亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用來自分組的統計信息將列添加到數據框

如何使用來自分組的統計信息將列添加到數據框

LEATH 2021-12-26 10:32:29
讓我們考慮以下 DataFrame:d = {'timestamp': ['2019-04-01', '2019-04-01', '2019-04-02', '2019-04-02', '2019-04-02'],\     'type': ['A', 'B', 'B', 'B', 'A'],\     'value': [3, 4, 4, 2, 5]}df = pd.DataFrame(data=d)    timestamp   type    value0   2019-04-01  A       31   2019-04-01  B       42   2019-04-02  B       43   2019-04-02  B       24   2019-04-02  A       5我想獲得的是另一列,其中包含特定時間段和類型內所有值的度量。例如,每天每種類型的標準偏差。
查看完整描述

1 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

使用GroupBy.std:


df = df.groupby(['timestamp','type'])['value'].std().reset_index()

print (df)

    timestamp type     value

0  2019-04-01    A       NaN

1  2019-04-01    B       NaN

2  2019-04-02    A       NaN

3  2019-04-02    B  1.414214

如果需要多個指標,可以使用DataFrameGroupBy.describe:


df = df.groupby(['timestamp','type'])['value'].describe()

print (df)

                 count  mean       std  min  25%  50%  75%  max

timestamp  type                                                

2019-04-01 A       1.0   3.0       NaN  3.0  3.0  3.0  3.0  3.0

           B       1.0   4.0       NaN  4.0  4.0  4.0  4.0  4.0

2019-04-02 A       1.0   5.0       NaN  5.0  5.0  5.0  5.0  5.0

           B       2.0   3.0  1.414214  2.0  2.5  3.0  3.5  4.0

有關聚合的更多信息,請參閱熊貓中的聚合。


編輯:如果只需要幾個月,請使用Series.dt.month:


df['timestamp'] = pd.to_datetime(df['timestamp'])


df = df.groupby([df['timestamp'].dt.month.rename('months'),'type'])['value'].describe()

print (df)

             count      mean       std  min  25%  50%  75%  max

months type                                                    

4      A       2.0  4.000000  1.414214  3.0  3.5  4.0  4.5  5.0

       B       3.0  3.333333  1.154701  2.0  3.0  4.0  4.0  4.0

如果需要年份和月份,請使用Series.dt.to_period月份:


m = df['timestamp'].dt.to_period('m').rename('months')

df = df.groupby([m,'type'])['value'].describe()

print (df)

              count      mean       std  min  25%  50%  75%  max

months  type                                                    

2019-04 A       2.0  4.000000  1.414214  3.0  3.5  4.0  4.5  5.0

        B       3.0  3.333333  1.154701  2.0  3.0  4.0  4.0  4.0


查看完整回答
反對 回復 2021-12-26
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號