gpt4 book ai didi

pandas - 将系列添加到现有 DataFrame

转载 作者:行者123 更新时间:2023-12-04 18:02:06 24 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

然后如何将以下系列添加到我的 DataFrame 中?谢谢你。
s = pd.Series({'Name':'Kevyn', 'Item Purchased': 'Kitty Food', 'Cost': 3.00, 'Location': 'Store 2'})

最佳答案

使用 concat + to_frame + T :

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

也可以为默认索引添加参数 ignore_index=True :
df = pd.concat([df, s.to_frame().T], ignore_index=True)
print (df)
Cost Item Purchased Location Name
0 22.5 Dog Food Store 1 Chris
1 2.5 Kitty Litter Store 1 Kevyn
2 5 Bird Seed Store 2 Vinod
3 3 Kitty Food Store 2 Kevyn

或者添加一些原来不在 df 中的新索引值与 loc :
df.loc[0] = s
print (df)
Cost Item Purchased Name Location
Store 1 22.5 Dog Food Chris Store 1
Store 1 2.5 Kitty Litter Kevyn Store 1
Store 2 5.0 Bird Seed Vinod Store 2
0 3.0 Kitty Food Kevyn Store 2

因为 else 值会被 Series 覆盖:
df.loc['Store 2'] = s
print (df)
Cost Item Purchased Name Location
Store 1 22.5 Dog Food Chris Store 1
Store 1 2.5 Kitty Litter Kevyn Store 1
Store 2 3.0 Kitty Food Kevyn Store 2 <- overwritten row

关于pandas - 将系列添加到现有 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44156051/

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