首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所有大写字母的pandas.isin都坏了吗?

所有大写字母的pandas.isin都坏了吗?
EN

Stack Overflow用户
提问于 2019-01-17 05:59:04
回答 1查看 57关注 0票数 0

我找到了熊猫的isin函数,但是看起来所有的大写字母都没有显示出来?

代码语言:javascript
复制
import pandas as pd
df = pd.read_json('{"Technology Group":{"0":"Cloud","1":"Cloud","2":"Cloud","3":"Collaboration","4":"Collaboration","5":"Collaboration","6":"Collaboration","7":"Collaboration","8":"Collaboration","9":"Core", "10": "Software"},"Technology":{"0":"AMP","1":"EWS","2":"Webex","3":"Telepresence","4":"Call Manager","5":"Contact Center","6":"MS Voice","7":"Apps","8":"PRIME  ","9":"Wirelees", "10": "Prime Infrastructure"}}')

+------------------+----------------------+
| Technology Group | Technology           |
+------------------+----------------------+
| Cloud            | AMP                  |
+------------------+----------------------+
| Cloud            | EWS                  |
+------------------+----------------------+
| Cloud            | Webex                |
+------------------+----------------------+
| Collaboration    | Telepresence         |
+------------------+----------------------+
| Collaboration    | Call Manager         |
+------------------+----------------------+
| Collaboration    | Contact Center       |
+------------------+----------------------+
| Collaboration    | MS Voice             |
+------------------+----------------------+
| Collaboration    | Apps                 |
+------------------+----------------------+
| Collaboration    | PRIME                |
+------------------+----------------------+
| Core             | Wirelees             |
+------------------+----------------------+
| Software         | Prime Infrastructure |
+------------------+----------------------+

tech_input2 = ['AMP', 'Call Manager', 'PRIME']
df = df[df['Technology'].isin(tech_input2)]

它将显示下表:

代码语言:javascript
复制
+------------------+--------------+
| Technology Group | Technology   |
+------------------+--------------+
| Cloud            | AMP          |
+------------------+--------------+
| Collaboration    | Call Manager |
+------------------+--------------+

..。而不是:

代码语言:javascript
复制
+------------------+--------------+
| Technology Group | Technology   |
+------------------+--------------+
| Cloud            | AMP          |
+------------------+--------------+
| Collaboration    | Call Manager |
+------------------+--------------+
| Collaboration    | PRIME        |
+------------------+--------------+

这是一个bug吗?还是我做错了什么?从技术上讲,它不是表中原始最后一行的副本,但不确定如何破译它。它看起来更像是contains而不是isin ...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-17 06:35:50

这可能是由于空格造成的。strip()根据参数(指定要删除的字符集的字符串)从左侧和右侧删除字符。

代码语言:javascript
复制
import pandas as pd
df = pd.read_json('{"Technology Group": {"0":"Cloud","1":"Cloud", 
"2":"Cloud","3":"Collaboration", "4":"Collaboration" ,":"Collaboration", 
"6":"Collaboration", "7":"Collaboration","8":"Collaboration","9":"Core", 
"10": "Software"},"Technology":{"0":"AMP","1":"EWS","2":"Webex","3":"Telepresence",
"4":"Call Manager","5":"Contact Center","6":"MS Voice","7":"Apps","8":"PRIME  
","9":"Wirelees", "10": "Prime Infrastructure"}}')

df['Technology'] = df['Technology'].str.strip()
tech_input2 = ['AMP', 'Call Manager', 'PRIME']
df = df[df['Technology'].isin(tech_input2)]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54226034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档