環境
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
↑こんなエラーがでてうまくいきませんでした。
ここまで読んでいただきありがとうございました。