【问题标题】:convert series to dataframe and rename将系列转换为数据框并重命名
【发布时间】:2021-10-07 10:06:44
【问题描述】:

我有一个如下所示的系列

Col 
0.006325    1
0.050226    2
0.056898    2
0.075840    2
0.089026    2
0.099637    1
0.115992    1
0.129045    1
0.148997    1
0.164790    2
0.188730    5
0.207524    3
0.235777    1

我想创建一个看起来像这样的 df

Col         Frequency
0.006325    1
0.050226    2
0.056898    2
0.075840    2
0.089026    2
0.099637    1

我尝试了series.reset_index().rename(columns={'col','frequency'}),但没有成功。

【问题讨论】:

    标签: python pandas aggregate-functions series


    【解决方案1】:

    尝试使用Series.reset_index()name=参数,如下:

    df = series.reset_index(name='frequency')
    

    演示

    data = {0.006325: 1,
     0.050226: 2,
     0.056898: 2,
     0.07584: 2,
     0.089026: 2,
     0.099637: 1,
     0.115992: 1,
     0.129045: 1,
     0.148997: 1,
     0.16479: 2,
     0.18873: 5,
     0.207524: 3,
     0.235777: 1}
    
    series = pd.Series(data).rename_axis(index='Col')
    
    print(series)
    
    Col
    0.006325    1
    0.050226    2
    0.056898    2
    0.075840    2
    0.089026    2
    0.099637    1
    0.115992    1
    0.129045    1
    0.148997    1
    0.164790    2
    0.188730    5
    0.207524    3
    0.235777    1
    dtype: int64
    
    df = series.reset_index(name='frequency')
    
    print(df)
    
             Col  frequency
    0   0.006325          1
    1   0.050226          2
    2   0.056898          2
    3   0.075840          2
    4   0.089026          2
    5   0.099637          1
    6   0.115992          1
    7   0.129045          1
    8   0.148997          1
    9   0.164790          2
    10  0.188730          5
    11  0.207524          3
    12  0.235777          1
    

    【讨论】:

      【解决方案2】:

      我能想到两个非常明智的选择。

      pd_series = pd.Series(range(5), name='series')
      
      # Option 1
      # Rename the series and convert to dataframe
      pd_df1 = pd.DataFrame(pd_series.rename('Frequency'))
      
      # Option 2
      # Pass the series in a dictionary
      # the key in the dictionary will be the column name in dataframe
      pd_df2 = pd.DataFrame(data={'Frequency': pd_series})
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-22
        • 2013-10-16
        • 1970-01-01
        • 1970-01-01
        • 2019-02-19
        • 2017-10-17
        • 2016-01-19
        相关资源
        最近更新 更多