1. np は小数点以下数桁のデータを保持します。
import numpy as np
array = np.array([1.123456789, 2.23456, 4.5643])
print(np.around(array, 3))
2. npデータをpd.DataFrameデータに変換します
import numpy as np
import pandas as pd
dataset = [[1.458,1.254],[2.365,5.154],[2.365,7.356]]
data = np.array(dataset)
df = pd.DataFrame(data=data, columns=['pregnants','Plasma_glucose_concentration'] )
3. DataFrame の列名を読み取る
- df.columns は Index を返します。これは tolist() または list(array) を通じてリストに変換できます。
data_demo = df.columns.tolist()
print(data_demo)
4. pandas スプライシングファイル
import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.array([
['a', 1, 2],
['b', 3, 4],
['c', 5, 6]]),
columns=['name', 'num11', 'num12'])
df2 = pd.DataFrame(np.array([
['a', 7, 8],
['b', 9, 10],
['c', 11, 12]]),
columns=['name', 'num21', 'num22'])
df_result = pd.merge(df1, df2, on='name')
print(df_result)
- 列方向のスプライシング:
- concat を通じてデータフレームに行と列を追加できます。つまり、 concat は、特定の軸 (axis=0/1) に沿って複数の pandas オブジェクト (データフレーム/シリーズ) を 1 つにマージできます。
- concat 構文: pandas.concat(objs, axis=0, join='outer',ignore_index=False)。
- objs: リスト。コンテンツは DataFrame または Series にすることができ、混合することができます。
- axis: デフォルト値は 0 で、これは行ごとの結合を意味し、1 に等しい場合は列ごとの結合を意味します。
- 結合: マージ時のインデックスの位置合わせ。デフォルトは外部結合ですが、内部結合にすることもできます。join=inner は一致しない列を除外します
- ignore_index: 元のデータ インデックスを無視するかどうか。
import pandas as pd
import numpy as np
dataset0 = [[1, 1.458,1.254],[2, 2.365,5.154],[3, 2.365,7.356]]
data0 = np.array(dataset0)
df0 = pd.DataFrame(data=data0, columns=['no','001','002'] )
dataset1 = [[1, 2.365,1.254],[2, 2.395,5.154],[3, 2.365,7.356]]
data1 = np.array(dataset1)
df1 = pd.DataFrame(data=data1, columns=['no','003','004'] )
df_result = pd.concat([df0, df1], axis=0, join='outer', ignore_index=True)
print(df_result)
5. DataFraemをcsvファイルに保存します
df.to_csv('../SeaDataset/03/03-17-19.csv')
6. ファイルを削除する
- os.remove(ファイルパス) ファイルを削除します
import os
path="./data"
txt_name0="删除文件0.txt"
os.remove(os.path.join(path,txt_name0))
7. 特定のデータセットのコードを処理する
import numpy as np
import pandas as pd
df1 = pd.read_csv('../SeaDataset/05/05-17.csv', header= 0, index_col= 0)
df2 = pd.read_csv('../SeaDataset/05/05-18-19.csv', header= 0, index_col= 0)
df = pd.concat([df1, df2], axis=0, join='outer', ignore_index= False)
df.to_csv('../SeaDataset/05/05-17-19.csv')
df = pd.read_csv('../SeaDataset/05/05-17-19.csv', header= 0, index_col= 0)
df_col = df.columns.tolist()
df_data = df.iloc[:,:].values
df_data = np.around(df_data, 3)
df_data = pd.DataFrame(data=df_data, columns=df_col)
df = pd.read_csv('../SeaDataset/05/05-17-19.csv', header= 0)
df_index = df.iloc[:, 0]
df = pd.concat([df_index, df_data], axis= 1, join= 'outer', ignore_index=False)
df.to_csv('../SeaDataset/05/data_05-17-19.csv', index=False)
df = pd.read_csv('../SeaDataset/05/data_05-17-19.csv', header= 0, index_col= 0)
print(df.iloc[0,0])
print(type(df.iloc[0,0]))
print(df)
os.remove('../SeaDataset_Init/03/03-17-19.csv')
- バッチ処理用の for ループを導入するなど、改善を続けることができます。