Pythonのpandas

【初心者向け】データ分析で必須のPandasを入門しよう!より

シリーズ 1次元の列

import pandas as pd

s1 = pd.Series([1,2,3,4,5])
print(s1)

データフレーム 2次元の表。indexが行 columnsが列

import pandas as pd

df = pd.DataFrame({'名前':['田中','山田','高橋'],
                  '役割' : ['営業部長', '広報部', '技術責任者'],
                  '身長':[178,173,169]})
print(df)
print(df.dtypes)
print(df.columns)

head(),tail()で5件データを表示

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(20,2))
df.head()
df.tail()

df.head().append(df.tail())
df.head(3).append(df.tail(3))

loc 行または列でのデータアクセス

import pandas as pd

df = pd.DataFrame([[10,20],[25,50]],index=["1行","2行"],columns=["1列","2列"])
print(df.loc["1行",:])
print(df.loc[:,["1列","2列"]])

iloc[行,列] index指定での取り出し

import pandas as pd
data=pd.read_csv("https://aiacademy.jp/dataset/sample_data.csv",encoding="cp932",skiprows=1,)
print(data)
print(data.iloc[3:5,1:3])

query 条件にあった行の抽出

import pandas as pd
df=pd.DataFrame([[10,20,30,30],[25,50,65,80]],index=["1行","2行"],columns=["A","B","C","D"])
print(df)
print(df.query('A>=5 and C<=50'))

CSV読込

import pandas as pd
data=pd.read_csv("https://aiacademy.jp/dataset/sample_data.csv",encoding="cp932",skiprows=1,)
print(data)

sort_index 列名でソート ascending=Falseで降順 sort_value 値でソート by=1 列名1でソート

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(20,2))
df.sort_index(ascending=False)
df.sort_values(by=1)
df.sort_values(by=1,ascending=False)