CSVファイルに新しい行を追加したい【python】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

csvファイルを読み込んで、形を整えていたら、”時間”の行がないことに気づきました。

”時間”の行があれば、グラフなどの可視化をしたときに便利なので、今回、追加してみました。

Timeという変数に作っていきます。

やったこと

時間を1秒ずつ作る

1秒ずつのデータが欲しいので、まず、数字の連番を作ります。

range()を使ってリストを作成しました。

()内は(開始、終了、増分)になります。

私は0秒から1800秒、1秒ずつカウントしているデータがほしいので、下のようなコマンドになります。

Time = [list(range(0,1800,1))]

こんな感じです。

データフレームにはめる

次にデータフレームにはめてみました。この工程はいらないかもしれません。

Time=pd.DataFrame(Time)

↑こんな感じです。

列と行を入れ替える

今の状態では横に連番して言っているので、列と行を入れ替えます。

transpose()を使います。

Time=Time.transpose()

↑こんな感じです。

”時間(s)”というカラムを作る

次に”Time”にカラムをつけます。

Time_columns = ['時間(s)']  
Time.columns = Time_columns

↑こんな感じです。

csvで読み込んだデータと結合させる

最後に読み込んだcsvファイルと結合させて、完成です。concat()を使いました。

df = pd.concat([df, Time],axis=1)

↑こんな感じ。

*dfとは私が形を整えたcsvファイルの変数になります。

苦労したところ

苦労した点は、2つあって、

1つ目は、カラムの宣言です。

結合する前にTimeという変数に”時間”というカラムを付け加えなきゃいけないと築くのに時間がかかりました。

2つ目は最後の結合する時です。

結合するときにmerge()でいけるとおもったのですが、

TypeError: only integer scalar arrays can be converted to a scalar index

↑こんなエラーがでてうまくいきませんでした。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次