質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2586閲覧

timedelta型でのグラフの描画について

aochan01

総合スコア17

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

1クリップ

投稿2020/07/08 10:19

編集2020/07/08 10:48

現在,時間についての解析で,各要素がtimedelta型のlistがあります.
これをヒストグラムなどで描画して,listの特性を図化したいのですが,plt.hist()をそのまま使おうとすると
ValueError: weights should have the same shape as x
というエラーが出てきてしまいます.

元のデータを時間単位に変換して描画する手法も考えたのですが,timedelta型の勝手が分からず困っています.
手法にこだわりはないので,前者でも後者でもいいのですが,分かりやすい簡便な手法で実現できる方法を教えて下さい.

python

1for *** 2 time.append(abs( 3 datetime.datetime(2005,int(line[116:118]),int(line[118:120]),int(line[120:122]),int(line[122:124])) 4 -datetime.datetime(2005,int(line[108:110]),int(line[110:112]),int(line[112:114]),int(line[114:116])))) 5 6plt.figure() 7plt.hist(time) 8plt.show()
0 timedelta 1 1 day, 16:25:00 1 timedelta 1 3 days, 17:10:00 2 timedelta 1 2 days, 18:00:00 3 timedelta 1 1 day, 9:15:00
teamikl👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/07/08 10:37

サンプルデータとサンプルコードを掲載できませんか?
guest

回答1

0

ベストアンサー

時間のヒストグラムで良ければ以下の方法があります。

python

1from datetime import timedelta 2import matplotlib.pyplot as plt 3import pandas as pd 4import numpy as np 5 6 7data = [ 8 timedelta(days=1, hours=16, minutes=25), 9 timedelta(days=3, hours=17, minutes=10), 10 timedelta(days=2, hours=18, minutes=0), 11 timedelta(days=1, hours=9, minutes=15), 12] 13 14df = pd.DataFrame({"timedelta": data}) 15df["hours"] = df["timedelta"] / np.timedelta64(1, "h") 16 17df.hist(column="hours") 18plt.xlabel("Elapsed time [hours]") 19plt.show()

timedelta型のヒストグラム化

投稿2020/07/08 16:18

yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aochan01

2020/07/19 06:47

timedelta()で解決しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問