pandasメモ(DataFrameの操作)
サンプルデータ
import pandas as pd
from sklearn.datasets import load_iris
# データ取得(アイリスという花のデータセット)
iris = load_iris()
data = iris.data
columns = iris.feature_names
# pd.DataFrame
df = pd.DataFrame(data=data, columns=columns)
データの確認
df.head() # 先頭を5件を表示
df.shape # 行数、列数を表示
カラム名の変更
# カラム名をリストで定義
columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
df.columns = columns
特定の要素を抽出
iloc (要素番号を指定)
# 11行〜20行目までを取得
df.iloc[10: 20] # df.iloc[10: 20, : ]と同じ
# 11行〜20行目、2〜3列目までを取得
df.iloc[10: 20, 1: 3]
# 1〜3列目までを取得
df.iloc[: , : 3]
loc(columns, indexを指定)
# 11行〜20行目までを取得
df.loc[11: 20]
# 11行〜20行目、2〜3列目までを取得
df.loc[11: 20, 'sepal_width': 'petal_length']
# 1〜3列目までを取得
df.loc[: , : 'petal_length']
特定の列を抽出
df['sepal_length'] # 戻り値の型は、pandas.core.series.Series
要素の条件で抽出
# カラム名をリストで定義
columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
df.columns = columns
# 11行〜20行目までを取得
df.iloc[10: 20] # df.iloc[10: 20, : ]と同じ
# 11行〜20行目、2〜3列目までを取得
df.iloc[10: 20, 1: 3]
# 1〜3列目までを取得
df.iloc[: , : 3]
# 11行〜20行目までを取得
df.loc[11: 20]
# 11行〜20行目、2〜3列目までを取得
df.loc[11: 20, 'sepal_width': 'petal_length']
# 1〜3列目までを取得
df.loc[: , : 'petal_length']
df['sepal_length'] # 戻り値の型は、pandas.core.series.Series
sepal_length >= 5.0
df[df['sepal_length'] >= 5.0]
df.query('sepal_length >= 5.0')
sepal_length >= 5.0 かつ sepal_width >= 3.0
df[(df['sepal_length'] >= 5.0) & (df['sepal_width'] >= 3.0)]
df.query('sepal_length >= 5.0 & sepal_width >=3.0')
ソート
データ(要素)でソート
# sepal_lengthでソート(ascending=Trueは昇順)
df.sort_values(by='sepal_length', ascending=True)
インデックスでソート
# ascendingは昇順/降順
# indexでソート
df.sort_index(ascending=False)
# columnsでソート
df.sort_index(axis=1, ascending=True)
Author And Source
この問題について(pandasメモ(DataFrameの操作)), 我々は、より多くの情報をここで見つけました https://qiita.com/saaaku/items/e9f6eca5c1129239dde0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .