pandas (Part 2)
Today I Learned
毎日習ったことを整理して記録する.
PandasのデータI/Oを学びました.
1.外部ファイルのインポート
Pandasは、異なるフォーマットの外部ファイルを読み込むことでデータフレームに変換できる関数を提供します.
pandasオブジェクトのデータフレームとしてpandasのすべての関数と機能を使用できます.
1-1. CSV(comma-separated values) - read_csv()
ex)
header=0(デフォルト:0行開く)
header=1(列1行指定)
header=None(非列)
ex)
index col=Fasle(デフォルト、インデックスは指定されていません)
index="c 0"("c 0"列をインデックスとする)
import pandas as pd
file_path = './read_csv_sample.csv'
df1 = pd.read_csv(file_path)
print(df1)
# c0 c1 c2 c3
# 0 0 1 4 7
# 1 1 2 5 8
# 2 2 3 6 9
print('\n')
df2 = pd.read_csv(file_path, header=None)
print(df2)
# 0 1 2 3
# 0 c0 c1 c2 c3
# 1 0 1 4 7
# 2 1 2 5 8
# 3 2 3 6 9
print('\n')
df3 = pd.read_csv(file_path, index_col=None)
print(df3)
# c0 c1 c2 c3
# 0 0 1 4 7
# 1 1 2 5 8
# 2 2 3 6 9
print('\n')
df4 = pd.read_csv(file_path, index_col='c0')
print(df4)
# c1 c2 c3
# c0
# 0 1 4 7
# 1 2 5 8
# 2 3 6 9
1-2. Excel - read_excel()
1-3. JSON - read_json()
2.Webからの導入
2-1. HTMLページからの表プロパティーのインポート-read html
2-2. Webスクリプト(キャプチャ)
3.APIによるデータ収集
4.データの保存
4-1 . CSVファイルとして保存-to csv()
import pandas as pd
# 판다스 DataFrame() 함수로 데이터프레임 변환. 변수 df에 저장
data = {'name': ['Jerry', 'Riah', 'Paul'],
'algol': ["A", "A+", "B"],
'basic': ["C", "B", "B+"],
'c++': ["B+", "C", "C+"],
}
df = pd.DataFrame(data)
df.set_index('name', inplace=True) # name 열을 인덱스로 지정
print(df)
# algol basic c++
# name
# Jerry A C B+
# Riah A+ B C
# Paul B B+ C+
#! to_csv() 메소드를 사용하여 CSV 파일로 내보내기. 파열명은 df_sample.csv로 저장
df.to_csv("./df_sample.csv")
# df_sample.csv 파일
# name,algol,basic,c++
# Jerry,A,C,B+
# Riah,A+,B,C
# Paul,B,B+,C+
4-2. JSONファイルとして保存-to json()
4-3. Excelファイルとして保存-to excel()
4-4. 複数のデータフレームを1つのExcelファイルとして保存する-Excel Writer()
# -*- coding: utf-8 -*-
import pandas as pd
# 판다스 DataFrame() 함수로 데이터프레임 변환. 변수 df1, df2에 저장
data1 = {'name': ['Jerry', 'Riah', 'Paul'],
'algol': ["A", "A+", "B"],
'basic': ["C", "B", "B+"],
'c++': ["B+", "C", "C+"]}
data2 = {'c0': [1, 2, 3],
'c1': [4, 5, 6],
'c2': [7, 8, 9],
'c3': [10, 11, 12],
'c4': [13, 14, 15]}
df1 = pd.DataFrame(data1)
df1.set_index('name', inplace=True) # name 열을 인덱스로 지정
print(df1)
print('\n')
# algol basic c++
# name
# Jerry A C B+
# Riah A+ B C
# Paul B B+ C+
df2 = pd.DataFrame(data2)
df2.set_index('c0', inplace=True) # c0 열을 인덱스로 지정
print(df2)
# c1 c2 c3 c4
# c0
# 1 4 7 10 13
# 2 5 8 11 14
# 3 6 9 12 15
# df1을 'sheet1'으로, df2를 'sheet2'로 저장 (엑셀파일명은 "df_excelwriter.xlsx")
writer = pd.ExcelWriter("./df_excelwriter.xlsx")
df1.to_excel(writer, sheet_name="sheet1")
df2.to_excel(writer, sheet_name="sheet2")
writer.save()
sheet 1
sheet 2
Reference
この問題について(pandas (Part 2)), 我々は、より多くの情報をここで見つけました https://velog.io/@qmasem/TIL-テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol