gpt4 book ai didi

python - 如果列表中的一个条目的键包含另一列中的字符串,则选择该条目

转载 作者:行者123 更新时间:2023-12-01 02:30:52 24 4
gpt4 key购买 nike

我对我的数据框有疑问。具体来说,在每一列的每一行中,我都有一个发言人和演讲的列表。现在,我想根据演讲者是否是我要找的人来选择一个演讲,这在另一列中已注明。因此,一列提供了我要查找的姓​​氏,另一列提供了所有发言者(名字和姓氏)及其演讲的列表,我想创建一个新列,将该演讲存储在相应的行中。

所以我的初始数据集如下所示:

ticker  year    quarter exel_lname  jobposition speech
xx 2009 1 Angle CEO [("Mike Angle", "Thank you"), ("Barbara Barth", "It is")]
xx 2009 1 Barth CFO [("Mike Angle", "Thank you"), ("Barbara Barth", "It is")]
xx 2009 2 Angle CEO [("Mike Angle", "I am surprised"), ("Barbara Barth", "So am I")]
xx 2009 2 Barth CFO [("Mike Angle", "I am surprised"), ("Barbara Barth", "So am I")]
yy 2008 3 Cruz CEO [("Damien Cruz", "Hello"), ("Lara Dolm", "Nice to meet you")]
yy 2008 3 Dolm CFO [("Damien Cruz", "Hello"), ("Lara Dolm", "Nice to meet you")]
例如,对于第一行,我想检查每个键值对第一个列表条目是否包含姓氏,如果不包含则继续,如果是,则获取语音部分(即第二个列表条目)并将其存储在 new 中柱子。因此,我想要以下数据集(我在这里隐藏了初始列语音,但它仍然应该包含在内,所以我不想替换它,只需创建一个新列)。

ticker  year    quarter exel_lname  jobposition speechmanager
xx 2009 1 Angle CEO "Thank you"
xx 2009 1 Barth CFO "It is"
xx 2009 2 Angle CEO "I am surprised"
xx 2009 2 Barth CFO "So am I"
yy 2008 3 Cruz CEO "Hello"
yy 2008 3 Dolm CFO "Nice to meet you"

有人可以帮助我如何在 Python 3 中解决这个问题吗?

谢谢!! Julia

最佳答案

这也许最好的方法是编写一个函数,然后逐行应用它:

def get_speech(row):
matches = list(filter(lambda x: x[0].endswith(row['exel_lname']), row['speech']))
if len(matches) > 0:
return matches[0][1]
return ''

df['speechmanager'] = df.apply(get_speech, axis=1)

关于python - 如果列表中的一个条目的键包含另一列中的字符串,则选择该条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46834436/

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