如何基于另一个键引用数据帧单元格

2024-10-01 02:19:10 发布

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

如何访问与另一个键对应的年龄单元格。类似于excel中的vlookup

假设我有以下数据帧

df_links2 = pd.DataFrame({'Link': ['http:\\link1',
                                   'http:\\link2',
                                   'http:\\link3',
                                   'http:\\link4',
                                   'http:\\link5',
                                   'http:\\link6',
                                   'http:\\link7',
                                   'http:\\link8',
                                   'http:\\link9',
                                   'http:\\link10'],
                          'Ages': ['U10', 'U11', 'U12', 'U13', 'U14', 'U15', 'U16', 'U17', 'U18', 'U19'],
                          'Gender': ['female', 'female', 'female', 'female', 'female', 'male', 'male', 'male', 'male', 'male']
                          })

我试着在几年内提取对应的单元格:对应于http:\ link9

有没有一种方法可以基于另一个元素引用相应的关键元素

我基本上想循环上面的所有链接,但在函数过程中,我希望能够将年龄和性别的值传递到我迭代过的链接中

for link in df_links2.Link:
    driver.get(link)
    table = create_table_from_link(driver)
    age = df_links2.get("Age").Link[link]  <------- error below

    df_new = process_table_into_DataFrame(table, age=age, gender=gender)


Exception has occurred: AttributeError
'NoneType' object has no attribute 'Link'
  File "C:\app.py", line 148, in <module>
    age = df_links2.get("Age").Link[link]

Tags: http元素dataframedfageget链接table
2条回答

所以试试这样

for row in df_links2.iterrows():
    info = row[1]
    driver.get(info.Link)
    table = create_table_from_link(driver)
    age = info.Ages
    gender = info.Gender

    df_new = process_table_into_DataFrame(table, age=age, gender=gender)

我在另一页上查看,最后写了这样的东西

for row in df_links2.itertuples(index=True, name='Pandas'):

    driver.get(getattr(row,"Link"))

    table = create_table_from_link(driver)

    age = getattr(row,"Age")
    gender = getattr(row,"Gender") 
    df_new = process_table_into_DataFrame(table, age=age, gender=gender)

If anyone can explain why this works it would be appreciated as I'd like to know why a dart tossed in the dark hit something :)

相关问题 更多 >