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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

以日期為 X 軸的 Seaborn 條形圖

以日期為 X 軸的 Seaborn 條形圖

慕虎7371278 2023-04-18 17:42:02
我曾嘗試創(chuàng)建時(shí)間序列數(shù)據(jù)集的條形圖,但沒(méi)有成功。我嘗試將日期轉(zhuǎn)換為 Pandas Datetime 對(duì)象、Timestamp 對(duì)象、原始字符串、浮點(diǎn)數(shù)和整數(shù)。無(wú)論我做什么,我都會(huì)收到以下錯(cuò)誤:TypeError: float() argument must be a string or a number, not 'Timestamp'以下是一些產(chǎn)生錯(cuò)誤的最小示例:在這里,“日期”對(duì)象的類(lèi)型為 <class 'pandas._libs.tslibs.timestamps.Timestamp'>,所以我知道為什么這不起作用:import matplotlib.pylab as pltimport matplotlib.dates as mdatesimport seaborn as snsdef main():    path = 'Data/AQ+RX Counts.csv'    df = pd.read_csv(path, parse_dates=['Date'], index_col=['Date'])    weekly_df = df.resample('W').mean().reset_index()    weekly_df['count'] = df['count'].resample('W').sum().reset_index()    sns.barplot(x = 'Date', y='count', data = weekly_df)    plt.show()main()然后我嘗試使日期浮動(dòng),打算將它們格式化回之后的日期,但這仍然不起作用:   dates = mdates.datestr2num(weekly_df.Date.astype(str))   weekly_df['n_dates'] = dates   sns.barplot(x = 'n_dates', y='count', data = weekly_df)   plt.show()我也試過(guò)使它們成為整數(shù),但無(wú)濟(jì)于事:    dates = mdates.datestr2num(weekly_df.Date.astype(str))    dates = dates.astype(int)    dates = pd.Series(dates)    weekly_df['n_dates'] = dates    sns.barplot(x = 'n_dates', y='count', data = weekly_df)    plt.show()我嘗試了許多其他變體,但都產(chǎn)生了相同的錯(cuò)誤。我什至將它與其他代碼進(jìn)行了比較,并驗(yàn)證了所有類(lèi)型都相同,并且比較代碼工作正常。我完全不知道從這里去哪里。
查看完整描述

1 回答

?
冉冉說(shuō)

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

函數(shù)中的轉(zhuǎn)換是'count'從浮點(diǎn)數(shù)轉(zhuǎn)換為日期時(shí)間數(shù)據(jù)類(lèi)型。

使用發(fā)布的樣本數(shù)據(jù)

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns


path = 'data/test.csv'

df = pd.read_csv(path, parse_dates=['Date'], index_col=['Date'])


# display(df)

                 WSA       WSV         WDV       WSM        SGT        T2M       T10M   DELTA_T        PBAR       SRAD          RH       PM25        AQI  count

Date                                                                                                                                                           

2015-01-01  1.070833  0.875000  132.958333  3.470833  35.391667  30.729167  30.625000 -0.116667  738.825000  72.666667   99.754167  24.808333  73.307931    0.0

2015-01-02  1.108696  0.939130  148.478261  3.734783  32.465217  34.391304  34.278261 -0.117391  738.347826  61.391304  100.013043  23.500000  64.150725    4.0

2015-01-03  1.017391  0.717391  168.043478  3.773913  42.717391  36.247826  36.160870 -0.095652  739.443478  49.608696  100.769565  20.460870  55.652711    0.0

2015-01-04  1.000000  0.600000  159.958333  3.850000  49.150000  38.887500  38.666667 -0.225000  741.500000  31.541667  101.479167  13.012500  46.835258    0.0

2015-01-05  1.033333  0.441667  137.000000  4.000000  57.566667  42.995833  42.945833 -0.050000  742.533333  44.583333  101.004167  16.654167  52.420271    4.0

2015-01-06  0.781818  0.559091  114.727273  3.654545  42.868182  40.740909  41.095455  0.368182  740.904545  48.272727  100.577273  21.954545  67.318339    6.0

2015-01-07  0.973913  0.830435  110.826087  3.956522  30.817391  40.365217  40.595652  0.221739  739.865217  60.043478  100.195652  24.456522  72.347251    6.0

2015-01-08  0.983333  0.825000  156.500000  4.208333  32.670833  41.520833  41.366667 -0.129167  736.350000  69.583333   99.958333  22.275000  65.770725   10.0

2015-01-09  0.958333  0.729167  133.708333  3.379167  39.645833  42.279167  42.158333 -0.116667  735.204167  60.416667  100.041667  19.370833  59.085129   10.0

2015-01-10  0.966667  0.758333  164.500000  3.675000  37.345833  42.962500  42.775000 -0.200000  734.287500  41.500000  100.120833  14.658333  49.314653    0.0


# resample mean

dfr = df.resample('W').mean()


# add the resampled sum to dfr

dfr['mean'] = df['count'].resample('W').sum()


# reset index

dfr = dfr.reset_index()


# display(dfr)

        Date       WSA       WSV         WDV       WSM        SGT        T2M       T10M   DELTA_T        PBAR       SRAD          RH       PM25        AQI  count  mean

0 2015-01-04  1.049230  0.782880  152.359601  3.707382  39.931069  35.063949  34.932699 -0.138678  739.529076  53.802083  100.503986  20.445426  59.986656    1.0   4.0

1 2015-01-11  0.949566  0.690615  136.210282  3.812261  40.152457  41.810743  41.822823  0.015681  738.190794  54.066590  100.316321  19.894900  61.042728    6.0  36.0


# plot dfr

fig, ax = plt.subplots(figsize=(16, 10)) 

fig = sns.barplot(x='Date', y='count', data=dfr)


# configure the xaxis ticks from datetime to date

x_dates = dfr.Date.dt.strftime('%Y-%m-%d').sort_values().unique()

ax.set_xticklabels(labels=x_dates, rotation=90, ha='right')


plt.show()

http://img1.sycdn.imooc.com//643e660e00015b7406560441.jpg

查看完整回答
反對(duì) 回復(fù) 2023-04-18
  • 1 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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