列追加、行追加
csvファイルに行追加
1行
new_row = {'ts': 0, 'x': 0, 'y': 0}
2行
csvファイルに列追加
# 新しい列の計算
norm_data = np.sqrt(df_pdr['x']**2 + df_pdr['y']**2)
# 新しい列をデータフレームに追加
new_column_name = 'norm' # 新しい列の名前
df_pdr.insert(3, new_column_name, norm_data) # 4列目に追加
csvファイル列抜き出し
# PDRファイルの2列目を抜き出す
add_data = df_sensor.iloc[:, 3] # 2列目のデータ
全体コード
import pandas as pd
import numpy as np
# CSVファイルを読み込む
csv_filename = 'pbr.csv' # 読み込むCSVファイルの名前
df_pdr = pd.read_csv(csv_filename)
#----0を行に追加--------
new_row = {'ts': 0, 'x': 0, 'y': 0}
# 新しい行をデータフレームに追加
df_pdr = pd.concat([pd.DataFrame([new_row]), df_pdr], ignore_index=True)
#----ノルム列の追加-------
# 新しい列の計算
norm_data = np.sqrt(df_pdr['x']**2 + df_pdr['y']**2)
# 新しい列をデータフレームに追加
new_column_name = 'norm' # 新しい列の名前
df_pdr.insert(3, new_column_name, norm_data) # 4列目に追加
# -----センサーファイルを読み込む-----
sensor_file = 'sensor.csv' # 読み込むCSVファイルの名前
df_sensor = pd.read_csv(sensor_file)
# PDRファイルの2列目を抜き出す
add_data = df_sensor.iloc[:, 3] # 2列目のデータ
# 行数を比較して短い方に合わせる
min_rows = min(len(df_pdr), len(df_sensor))
df_sensor = df_sensor[:min_rows]
column_to_merge = add_data[:min_rows]
# 2番目のデータを最初のデータフレームに結合
df_sensor['norm'] = add_data
# 変更をCSVファイルに保存
new_csv_filename = 'added_data.csv' # 保存先のファイル名
df_sensor.to_csv(new_csv_filename, index=False)
# --------変更をCSVファイルに保存------
new_csv_filename = 'pdr_0.csv' # 保存先のファイル名
df_sensor.to_csv(new_csv_filename, index=False)
複数行抜き出して結合するパターン
# PDRの2列目と3列目のデータを抜き出す
add_data = df2.iloc[:, [1, 2]] # 2列目と3列目のデータ
# 行数を比較して短い方に合わせる
min_rows = min(len(df1), len(df2))
df2 = df2[:min_rows]
column_to_merge = add_data[:min_rows]
# 2列目と3列目のデータを最初のデータフレームに結合
df2['new_column_2'] = add_data.iloc[:, 0]
df2['new_column_3'] = add_data.iloc[:, 1]
# 変更をCSVファイルに保存
new_csv_filename = 'add_data2.csv' # 保存先のファイル名
df2.to_csv(new_csv_filename, index=False)
縦に結合
import pandas as pd
# CSVファイルのリストを作成
csv_filenames = ['sensor.csv', 'sensor2.csv', 'sensor3.csv'] # 読み込むCSVファイルの名前
# 最初のCSVファイルを読み込む
df_list = [pd.read_csv(csv_filenames[0])]
# 2つ目以降のCSVファイルを読み込んで縦に結合
for csv_filename in csv_filenames[1:]:
df = pd.read_csv(csv_filename)
df_list.append(df.iloc[0:]) # 2行目以降を追加
# データフレームを縦に結合
combined_df = pd.concat(df_list, ignore_index=True)
# 変更をCSVファイルに保存
new_csv_filename = 'combined_file.csv' # 保存先のファイル名
combined_df.to_csv(new_csv_filename, index=False)