第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

從分組的熊貓數(shù)據(jù)框中繪制堆積圖

從分組的熊貓數(shù)據(jù)框中繪制堆積圖

守候你守候我 2021-11-30 10:31:27
我有一個如下所示的數(shù)據(jù)框。首先,我想要每個日期中每個狀態(tài)的計(jì)數(shù)。例如,2017-11-02 中“完成”的數(shù)量是 2。我想要這樣的堆棧圖。                   status              start_time                end_time  \0             COMPLETED 2017-11-01 19:58:54.726 2017-11-01 20:01:05.414   1             COMPLETED 2017-11-02 19:43:04.000 2017-11-02 19:47:54.877   2     ABANDONED_BY_USER 2017-11-03 23:36:19.059 2017-11-03 23:36:41.045   3  ABANDONED_BY_TIMEOUT 2017-10-31 17:02:38.689 2017-10-31 17:12:38.844   4             COMPLETED 2017-11-02 19:35:33.192 2017-11-02 19:42:51.074   這是數(shù)據(jù)框的csv:status,start_time,end_timeCOMPLETED,2017-11-01 19:58:54.726,2017-11-01 20:01:05.414COMPLETED,2017-11-02 19:43:04.000,2017-11-02 19:47:54.877ABANDONED_BY_USER,2017-11-03 23:36:19.059,2017-11-03 23:36:41.045ABANDONED_BY_TIMEOUT,2017-10-31 17:02:38.689,2017-10-31 17:12:38.844COMPLETED,2017-11-02 19:35:33.192,2017-11-02 19:42:51.074ABANDONED_BY_TIMEOUT,2017-11-02 19:35:33.192,2017-11-02 19:42:51.074為達(dá)到這個:df_['status'].astype('category')df_ = df_.set_index('start_time')grouped = df_.groupby('status')color = {'COMPLETED':'green','ABANDONED_BY_TIMEOUT':'blue',"MISSED":'red',"ABANDONED_BY_USER":'yellow'}for key_, group in grouped:   print(key_)   df_ = group.groupby(lambda x: x.date).count()   print(df_)   df_['status'].plot(label=key_,kind='bar',stacked=True,\   color=color[key_],rot=90)plt.show()以下輸出是:ABANDONED_BY_TIMEOUT            status  end_time  2017-10-31       1         1       ABANDONED_BY_USER            status  end_time  2017-11-03       1         1            COMPLETED            status  end_time  2017-11-01       1         1             2017-11-02       2         2 正如我們所看到的,這里的問題只考慮了最后兩個日期“2017-11-01”和“2017-11-02”,而不是所有類別中的所有日期。我該如何解決這個問題?歡迎使用全新的堆疊圖方法。提前致謝。
查看完整描述

3 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns


df_ = pd.read_csv('sam.csv')

df_['date'] = pd.to_datetime(df_['start_time']).dt.date

df_ = df_.set_index('start_time')



grouped = pd.DataFrame(df_.groupby(['date', 'status']).size().reset_index(name="count")).pivot(columns='status', index='date', values='count')

print(grouped)

sns.set()


grouped.plot(kind='bar', stacked=True)


# g = grouped.plot(x='date', kind='bar', stacked=True)

plt.show()

輸出:

http://img1.sycdn.imooc.com//61a58d2900013bc805850458.jpg

查看完整回答
反對 回復(fù) 2021-11-30
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個贊

嘗試轉(zhuǎn)型df_與pandas.crosstab替代:


color = ['blue', 'yellow', 'green', 'red']

df_xtab = pd.crosstab(df_.start_time.dt.date, df_.status)

這DataFrame看起來像:


status      ABANDONED_BY_TIMEOUT  ABANDONED_BY_USER  COMPLETED

start_time                                                    

2017-10-31                     1                  0          0

2017-11-01                     0                  0          1

2017-11-02                     1                  0          2

2017-11-03                     0                  1          0

并且更容易繪制。


df_xtab.plot(kind='bar',stacked=True, color=color, rot=90)

http://img1.sycdn.imooc.com//61a58d3800012a1f04290283.jpg

查看完整回答
反對 回復(fù) 2021-11-30
?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個贊

使用barplot帶有色調(diào)的seaborn 庫


代碼:


import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns


df_ = pd.read_csv('sam.csv')

df_['date'] = pd.to_datetime(df_['start_time']).dt.date

df_ = df_.set_index('start_time')


print(df_)


grouped = pd.DataFrame(df_.groupby(['date', 'status']).size().reset_index(name="count"))

print(grouped)


g = sns.barplot(x='date', y='count', hue='status', data=grouped)

plt.show()

輸出:

http://img1.sycdn.imooc.com//61a58d45000117d106350472.jpg

數(shù)據(jù):


status,start_time,end_time

COMPLETED,2017-11-01 19:58:54.726,2017-11-01 20:01:05.414

COMPLETED,2017-11-02 19:43:04.000,2017-11-02 19:47:54.877

ABANDONED_BY_USER,2017-11-03 23:36:19.059,2017-11-03 23:36:41.045

ABANDONED_BY_TIMEOUT,2017-10-31 17:02:38.689,2017-10-31 17:12:38.844

COMPLETED,2017-11-02 19:35:33.192,2017-11-02 19:42:51.074

ABANDONED_BY_TIMEOUT,2017-11-02 19:35:33.192,2017-11-02 19:42:51.074

http://img1.sycdn.imooc.com//61a58d53000179f506290468.jpg

查看完整回答
反對 回復(fù) 2021-11-30
  • 3 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號