从系列中创建一个pd.Dataframe

3
我有一个这样的数据框: enter image description here 然后我要获取其中一行,并添加一个名为“time”的新列,值为15。
loc_OBL_ein = df.loc[5]
loc_OBL_ein.insert(1,'time',value=15) 

然后我收到一个错误信息'系列'对象没有属性'insert'。 我现在的想法是将loc_OBL_ein转换为具有与df相同列名称的对象。我该怎么做呢?
还是说有另外一种方法可以获取这一行并保持对象格式吗?

谢谢, R

1个回答

4

看起来你需要嵌套列表以获取在索引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
@raffa_sa - 是的,如果使用[]选择,则返回Series,如果使用[[]]选择,则返回DataFrame。此外,如果需要多行,请使用[[4,5]] - jezrael
谢谢 - 我不知道你是怎么做到的,但你总是能回答我问题的正确答案 :) - raffa_sa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接