0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CSVデータの加工方法

Last updated at Posted at 2023-08-30

列追加、行追加

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)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?