gpt4 book ai didi

python - 如何将系列添加到 DataFrame 中有自定义索引

转载 作者:行者123 更新时间:2023-11-28 17:17:12 25 4
gpt4 key购买 nike

我有以下数据框:

purchase_1 = pd.Series({'Name': 'Chris',
'Item Purchased': 'Dog Food',
'Cost': 22.50})
purchase_2 = pd.Series({'Name': 'Kevyn',
'Item Purchased': 'Kitty Litter',
'Cost': 2.50})
purchase_3 = pd.Series({'Name': 'Vinod',
'Item Purchased': 'Bird Seed',
'Cost': 5.00})
df = pd.DataFrame([purchase_1, purchase_2, purchase_3], index=['Store 1', 'Store 1', 'Store 2'])
df['Location'] = df.index
df = df.set_index(['Location', 'Name'])
df2 = df.copy()
print(df2)

Cost Item Purchased
Location Name
Store 1 Chris 22.5 Dog Food
Kevyn 2.5 Kitty Litter
Store 2 Vinod 5.0 Bird Seed

然后我有以下系列:

purchase_4 = pd.Series({'Name': 'Kevyn',
'Item Purchased': 'Kitty Food',
'Cost': 3.00,
'Location': 'Store 2'})

当我尝试将这个系列添加到我的 DF 时,它可以工作,但有一堆 NaN:

df2 = df2.append(purchase_4, ignore_index=True)

Cost Item Purchased Location Name
0 22.5 Dog Food NaN NaN
1 2.5 Kitty Litter NaN NaN
2 5.0 Bird Seed NaN NaN
3 3.0 Kitty Food Store 2 Kevyn

最佳答案

您可以使用 concat :

df2 = pd.concat([df2, purchase_4.to_frame().T.set_index(df.index.names)])
print (df2)
Cost Item Purchased
Location Name
Store 1 Chris 22.5 Dog Food
Kevyn 2.5 Kitty Litter
Store 2 Vinod 5 Bird Seed
Kevyn 3 Kitty Food

loc , 对于设置 Multiindex 使用 ():

df2.loc[(purchase_4['Location'], purchase_4['Name']),:] = purchase_4
print (df2)
Cost Item Purchased
Location Name
Store 1 Chris 22.5 Dog Food
Kevyn 2.5 Kitty Litter
Store 2 Vinod 5.0 Bird Seed
Kevyn 3.0 Kitty Food

关于python - 如何将系列添加到 DataFrame 中有自定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43590362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com