seriesをdataframeに変換

1544 ワード

通常のデータ分析ではdescribeやgroupbyで生成される統計データは、series形式に属することが多い.その後の分析やデータ統合の過程で、seriesフォーマットをdataframeフォーマットに変換する必要があることがよくあります.
  • 単一のseriesはdataframeに変換され、indexはインデックスを除去し、dataframeの列
  • になる.
    #    ,    pd.Series S     
    series = pd.Series(['  ','  ','  ','  '])
    series
    Out[57]: 
    0      
    1      
    2      
    3      
    dtype: object
    #        
    df = {'  ':series.index,'  ':series.values}
    #      DF, pd.DataFrame D F    ,     
    #AttributeError: module 'pandas' has no attribute 'dataframe'
    DF = pd.DataFrame(df)
    DF
    Out[53]: 
             
    0       0
    1       1
    2       2
    3       3
    

    単一のseriesでもto_frameがdataframeになる
    aa = a.to_frame()
    
    aa
    Out[74]: 
       0
    0  1
    1  2
    2  3
    3  4
    
  • 複数のseriesがあり、複数のseriesを統合してseries注意を生成します:seriesのpandasのjoin,merge,concatはpandasのdataframeを使用して直接生成したdfを使用することはできません.行別に統合する必要がある場合は、辞書のモードで行を統合する必要があります.dataframeは直接中が括弧2、辞書のパターンが(‘列名’:シーケンス名)のフォーマットを生成しますが、dataframeの中の括弧内は(シーケンス名)だけです.真ん中はカンマで
  • 隔てられています
    a = pd.Series([1,2,3,4])
    b = pd.Series([5,6,7,8])
    c = pd.Series([8,5,6,9])
    df = pd.DataFrame({'a':a,'b':b,'c':c})
    a
    Out[67]: 
    0    1
    1    2
    2    3
    3    4
    dtype: int64
    
    b
    Out[68]: 
    0    5
    1    6
    2    7
    3    8
    dtype: int64
    
    c
    Out[69]: 
    0    8
    1    5
    2    6
    3    9
    dtype: int64
    
    df
    Out[70]: 
       a  b  c
    0  1  5  8
    1  2  6  5
    2  3  7  6
    3  4  8  9
    
    d = pd.DataFrame([a,b,c])
    
    d
    Out[72]: 
       0  1  2  3
    0  1  2  3  4
    1  5  6  7  8
    2  8  5  6  9