gpt4 book ai didi

python - Pandas DataFrame 子字符串匹配不起作用

转载 作者:行者123 更新时间:2023-11-30 21:49:41 25 4
gpt4 key购买 nike

我的数据框包含发件人姓名,我只想显示某些发件人。数据框中的列名称是 Senders。

1                                         Tin, Heather-LK
2 Wong, Wan Sing
3 Employee Engagement
4 Loh, Kelly-KK
5 EXCHANGE ADMINISTRATIVE GROUP
6 CorpComms
7 Loo Wai Long
8 Tang, Heather-L
9 Oracle

代码

df[df.Sender.str.contains('Tin', na=False)]

结果是一个空白数据框。我不太清楚字符串属性包含我正在寻找的部分。

以下是数据框的信息

1378
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1378 entries, 0 to 1377
Data columns (total 4 columns):
Sender 1375 non-null object
Content 1378 non-null object
Received Time 1378 non-null object
Replied Time 189 non-null object
dtypes: object(4)
memory usage: 53.8+ KB

如果我自己重建框架,它就可以工作。但似乎无法让它处理我通过 Outlook MAPI 提取的原始数据。

最佳答案

好的,所以 df.Sender.map(type).head() 的结果表明 Sender 列中的项目实际上不是字符串,而是其他一些类(也许是 Outlook API 特有的东西?)。 object dtype 列可以包含任何类型的对象,因此有时您会遇到这样的问题,并且需要检查各个单元格中的类型以了解发生了什么。

您可以尝试将这些项目显式转换为字符串,看看是否可以解决您的问题:

df['Sender_str'] = df['Sender'].map(str)
df.loc[df['Sender_str'].str.contains('Tin', na=False), :]

关于python - Pandas DataFrame 子字符串匹配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33863063/

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