我得到了不需要的索引值和我需要的值

2024-06-02 05:56:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究twitter数据,并提取了一些热门话题。我把它转换成一个dataframe名称'trend',现在我想把'woeid'w.r.t提取到'name'列,但是当我使用下面的代码片段时,我也得到了索引值。我只需要'woeid'和索引值,因为我必须将这个值传递给api.U地点我只提取“woeid”

我还使用了'''ID=trend['woeid'].loc[trend['name']=='Ottawa']'',但结果是一样的。你知道吗

我也试过用轴,但如果我用'''ID轴[0][0]''它给我索引号,当我使用''时ID轴[1[0]''或''ID轴[0]1]''它给出以下错误:


索引器回溯(最后一次调用) 在() ---->;1个ID轴0

E:\Anaconda\lib\site packages\pandas\core\index目录\基本.py在获取项目中(self,key) 2067 2068如果是标量(键): ->;2069 return getitem(键) 2070 2071如果存在(键,切片):

索引器错误:索引1超出大小为1的轴0的界限

''ID=trend['woeid'][trend['name']=='渥太华']'' ''ID['woeid']''

预期输出应为ID=3369 实际输出是2 3369这里2是索引号。你知道吗

数据帧:

          country        countrycode   name         woeid
    0     none           none          worldwide    1
    1     Canada         CA            Winnipeg     2972
    2     Canada         CA            Ottawa       3369
    3     United Kingdom UK            London       3444
    4     Germany        GR            Berlin       3567

on above DataFrame using '''ID =trend['woeid'].loc[trend['name']=='Ottawa']''' will give you :'2 3369', but i only want 3369 .


Tags: 数据namegtnoneiddataframe错误twitter
1条回答
网友
1楼 · 发布于 2024-06-02 05:56:55
country = ['none','Canada','Canada','United Kingdom']
countrycode =  ['none','CA','CA','UK']
name = ['worldwide','mWinnipeg','Ottawa','London']
woeid = [1,2972,3369,3444]

import pandas as pd

df = pd.DataFrame(zip(country,countrycode,name,woeid),columns = ['country','countrycode','name','woeid'])  

有多种方法

df.loc[df['name']=='Ottawa', 'woeid'].iloc[0]

df.loc[df['name']=='Ottawa', 'woeid'].item()

df[df['name']=='Ottawa']['woeid'].values

#using query method
df.query('name == "Ottawa"')['woeid'].iloc[0]

相关问题 更多 >