pandas成長の道——DataFrameの作成

3661 ワード

文書ディレクトリ
  • 1、DataFrame概要
  • 2、DataFrameの作成
  • 3、DataFrameの値取得
  • 4、DataFrameの属性
  • 1、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