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

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

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

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

Python

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

Q&A

解決済

2回答

446閲覧

新たに変数(日付け)を作りたい

T_Y

総合スコア27

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

Python

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

0グッド

0クリップ

投稿2023/03/15 10:23

実現したいこと

サンプル数500の元データに年('Year')と月('Month')があります。

元データを

python

1data = pd.read_csv('/content/drive/MyDrive/Python/HeatMap/Data/ファイル名.csv')

で読み込んでいます。

年と月を結合させて日付データを作ろうとしています。
datetimeを使えば実現できると思いましたが、年と月だけでは不十分で日が必要みたいなので、日('Day')を追加して、

python

1dt = datetime('Year','Month','Day')

を実行すればいいかなと思っています。

試したこと

変数'Day'を作るために、次のコードを実行しました。

python

1day =[] 2for i in day: 3 day=20

日付けはとりあえず日付けが入っていればいいので、20にしました。
このコードは実行できたのですが、元データ(data)に追加されません。

day = [] ではなく、day = data[] でやってみましたが、invalid syntaxになってしまいます。

dataにdayを追加するにはどうしたら良いのでしょうか。

ご教示くださいませ。

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

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

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

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

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

melian

2023/03/15 10:27

data['Day'] = 20 とすればよさそうです。
TakaiY

2023/03/15 10:30

複数の日付を作ろうとしているようですが、それをどのように使うのですか? csvに入っているデータに年と月しかないのであれば、その行の日/時/分/秒 は 適当に1や0などにすればいいのではないかと思うのですが。 2023年1月であれば、2023/3/1-0:00:00 にしてしまうなどです。
T_Y

2023/03/15 10:55

melianさん、どうもありがとうございます。forを使わなくてもよかったのですね。実行できました。 TakaiYさん、コメントありがとうございます。年と月が別々のセルに入っていまして、年と月をくっつけないといけないかなと思いました。csv上で日付データを作るというアドバイスでしょうか。
TakaiY

2023/03/15 11:05

melianさんと同じく、for文で回さなくても、1つだけ作れば済むのではないかという指摘です。
T_Y

2023/03/15 11:11

TakaiYさん、理解しました。どうもありがとうございます。
guest

回答2

0

自己解決

次のコードで実現できました。

python

1dt = pd.to_datetime({ 2"year":data['Year'], 3"month":data['Month'], 4"day":data['Day'] 5})

投稿2023/03/15 12:41

T_Y

総合スコア27

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

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

0

dataのYear,Monthからdatetimeを作って新しい配列に格納すればよろしいのではないでしょうか

python

1data = pd.read_csv('/content/drive/MyDrive/Python/HeatMap/Data/ファイル名.csv') 2data2= [] 3for d in data: 4 year = d[<index for Year>] 5 month = d[<index for Month>] 6 new_data = [ datetime(year,month,20), .... ] 7 data2.append(new_data)

投稿2023/03/15 10:37

tatamyiwathy

総合スコア1039

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

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

T_Y

2023/03/15 11:18

tatamyiwathyさん、コードありがとうございます。実行してみたところ、invalid syntaxで返ってきてしまいました。
T_Y

2023/03/15 12:16

次のコードでやりたい事が実現できました。 dt = pd.to_datetime({ "year":data['Year'], "month":data['Month'], "day":data['Day'] })
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問