pandas成長の道——DataFrameの作成
3661 ワード
文書ディレクトリ1、DataFrame概要 2、DataFrameの作成 3、DataFrameの値取得 4、DataFrameの属性 1、DataFrameの概要
DataFrameは2次元のデータ構造であり、Series構造の辞書と考えられる.すなわち、カラム名(columns labels)はキーであり、各カラムの値はSeriesであり、辞書の値である
2、DataFrameの作成
辞書による作成辞書による作成では、辞書のキーをカラム名とし、対応する値を各行の値とします.indexとcolumnsの値を指定できますが、指定した辞書に対応する値がない場合はNaNで入力します.
出力結果:
リスト作成によるリスト作成、行別作成
出力結果:
3、DataFrameの値取得
例:
取得列形式:DataFrame["列名"]またはDataFrame.列名
複数列の取得、リストの使用
取得行形式:DataFrame.loc["行名"またはDataFrame.iloc[i]
複数行の取得、リストの使用
値の取得
atとiatで値を取得atとiatを使用する場合、ある値しか取得できません.1行または列の値は取得できません.
at/iatはloc/ilocと併用することもできる
注意:loc/ilocのみが前、at/iatは後
4、DataFrameの属性
例:
index、columns、valuesプロパティ:
size、shapeプロパティ:
axesプロパティはindexとcolumnsの組み合わせに相当します.
Empty属性は、DataFrameが空であるか否かを判断する
DataFrameは2次元のデータ構造であり、Series構造の辞書と考えられる.すなわち、カラム名(columns labels)はキーであり、各カラムの値はSeriesであり、辞書の値である
2、DataFrameの作成
辞書による作成辞書による作成では、辞書のキーをカラム名とし、対応する値を各行の値とします.indexとcolumnsの値を指定できますが、指定した辞書に対応する値がない場合はNaNで入力します.
dict = {"name":[" ", " ", " "], "age":[22, 23, 20], "gender":["female", "female", "male"]}
df = pd.DataFrame(data=dict, index=["p1", "p2", "p3"])
出力結果:
name age gender
p1 22 female
p2 23 female
p3 20 male
リスト作成によるリスト作成、行別作成
df = pd.DataFrame(data=[[" ",22,"female"],[" ",23,"female"],[" ",20,"male"]], columns=["name","age","gender"], index=["p1", "p2", "p3"])
出力結果:
name age gender
p1 22 female
p2 23 female
p3 20 male
3、DataFrameの値取得
例:
name age gender
p1 22 female
p2 23 female
p3 20 male
取得列形式:DataFrame["列名"]またはDataFrame.列名
df["name"]
df.name
# :
p1
p2
p3
Name: name, dtype: object
複数列の取得、リストの使用
df[["name", "gender"]]
# :
name gender
p1 female
p2 female
p3 male
取得行形式:DataFrame.loc["行名"またはDataFrame.iloc[i]
df.loc["p2"]
df.iloc[1]
:
name
age 23
gender female
Name: p2, dtype: object
複数行の取得、リストの使用
df.iloc[[0,2]]
df.loc[["p1", "p3"]]
:
name age gender
p1 22 female
p3 20 male
値の取得
#
df["name"]["p1"]
df["name"][0]
df.loc["p1"][0]
df.iloc[0][0]
# :
' '
df.loc[["p1","p2"]][["name", "gender"]]
df[["name", "gender"]].loc[["p1", "p2"]]
# :
name gender
p1 female
p2 female
atとiatで値を取得atとiatを使用する場合、ある値しか取得できません.1行または列の値は取得できません.
df.at["p1", "name"] # :' '
df.at["p1", ["name", "gender"]] #
df.at[["p1", "p2"], "name"] #
at/iatはloc/ilocと併用することもできる
df.loc["p2"].at["name"] # :' '
df.at["p2"].loc["name"] #
注意:loc/ilocのみが前、at/iatは後
4、DataFrameの属性
例:
name age gender
p1 22 female
p2 23 female
p3 20 male
index、columns、valuesプロパティ:
print(df.index) # :Index(['p1', 'p2', 'p3'], dtype='object')
print(df.columns) # :Index(['names', 'age', 'gender'], dtype='object')
print(df.values)
# :
[[' ' 22 'female']
[' ' 23 'female']
[' ' 20 'male']]
size、shapeプロパティ:
df.size # :9
df.shape # :(3, 3)
axesプロパティはindexとcolumnsの組み合わせに相当します.
df.axes
# :
[Index(['p1', 'p2', 'p3'], dtype='object'),
Index(['name', 'age', 'gender'], dtype='object')]
Empty属性は、DataFrameが空であるか否かを判断する
df.empty # :False