gpt4 book ai didi

python - 如果我没有从数据库中找到某些数据,如何添加信息?

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:54 25 4
gpt4 key购买 nike

我正在使用 pandas 包根据名称从某个数据库中过滤出我需要的信息。但我只是知道如何过滤掉它们,而不是向结果列表中添加额外的信息。

我给出了一个列表,我想根据它们检索信息:

import pandas

require_list = []
with open('require.csv') as fo:
for line in fo:
require_list.append(line.strip())

#Then I see,
id
cat
elephant
dog # I have elephant in my list.

然后我开始通过 pandas 从数据库中读取数据:

data = pandas.read_csv("require_database.csv")

id kg
0 squirrel 0.1
1 horse 80
2 cat 7
3 bee 0.03
4 dog 12
5 goldfish 0.08 # Unfortunately I do not have data for elephant.

然后我使用“isin”函数根据给定的标题检索数据...

data_list = data[data['id'].isin(require_list)]
print data_list

# I'd like to get something like below....
id kg
cat 7
elephant null # Add "null" behind the elephant..
dog 12 # Order is the same as my given list.

我的问题是如何在我没有数据的动物后面添加“null”等信息?我的结果中的顺序应该与我的列表相同。有谁知道如何通过 pandas 实现这一目标?

最佳答案

我将从您的列表中创建一个 df,然后执行 left款式merge对于您的数据库 df ,这将在它们存在的地方添加值,并将 nan 放在它们不存在的地方:

In [52]:

animal_list=['cat','elephant','dog']
df = pd.DataFrame({'id':animal_list})
df
Out[52]:
id
0 cat
1 elephant
2 dog

df1
Out[51]:
id kg
0 squirrel 0.10
1 horse 80.00
2 cat 7.00
3 bee 0.03
4 dog 12.00
5 goldfish 0.08
In [50]:

df.merge(df1, on='id', how='left')
Out[50]:
id kg
0 cat 7
1 elephant NaN
2 dog 12

关于python - 如果我没有从数据库中找到某些数据,如何添加信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774310/

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