【问题标题】:Create an pd.Dataframe from series从系列创建一个 pd.Dataframe
【发布时间】:2018-10-11 12:43:51
【问题描述】:

我有一个这样的数据框:

然后我将得到一行,并添加一个新列,其中包含一列名称时间和值 15。

loc_OBL_ein = df.loc[5]
loc_OBL_ein.insert(1,'time',value=15) 

然后我得到一个错误“系列”对象没有属性“插入”。 我现在的想法是将 loc_OBL_ein 转换为具有相同列名的对象,例如 df。我该怎么做?
还是有另一种方法来获取这一特定行并保持对象格式?

谢谢你, 回复

【问题讨论】:

    标签: python pandas dataframe series


    【解决方案1】:

    看来您需要嵌套列表才能从索引 5 获取 DataFrame 中的行:

    df = pd.DataFrame({
            'A':list('abcdef'),
             'B':[4,5,4,5,5,4],
             'C':[7,8,9,4,2,3],
             'D':[1,3,5,7,1,0],
             'E':[5,3,6,9,2,4],
             'F':list('aaabbb')
    })
    
    print (df)
       A  B  C  D  E  F
    0  a  4  7  1  5  a
    1  b  5  8  3  3  a
    2  c  4  9  5  6  a
    3  d  5  4  7  9  b
    4  e  5  2  1  2  b
    5  f  4  3  0  4  b
    
    loc_OBL_ein = df.loc[[5]]
    loc_OBL_ein.insert(1,'time',value=15) 
    print (loc_OBL_ein)
       A  time  B  C  D  E  F
    5  f    15  4  3  0  4  b
    

    【讨论】:

    • loc_OBL_ein = df.loc[5] 和 loc_OBL_ein = df.loc[[5]] 的区别是如果我使用两个 [[]] 我会得到一个嵌套列表? @jezrael
    • @raffa_sa - 是的,如果通过[] 选择它返回Series,如果通过[[]] 选择它返回DataFrame。此外,如果需要多行,请使用 [[4,5]]
    • 谢谢你 - 我不知道怎么做,但你总是能得到我问题的正确答案 :)
    猜你喜欢
    • 2018-03-20
    • 2011-02-05
    • 2020-09-10
    • 2021-06-25
    • 2017-03-12
    • 2017-02-17
    • 2017-01-25
    • 2020-12-27
    • 1970-01-01
    相关资源
    最近更新 更多