首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫:选择只包含字符串的行?

熊猫:选择只包含字符串的行?
EN

Stack Overflow用户
提问于 2018-05-18 15:53:12
回答 3查看 952关注 0票数 2

我有一个数据框架,看起来是这样的:

代码语言:javascript
复制
    [Column1]   [Column2]
0   16155.22300 1.246982
1   16193.009   BMS1P17,BMS1P18,BMS1P22,DUXAP8
2   16231.289   LINC01297
5   16265.05300 2.156268
6   16287.937   POTEH,POTEH-AS1
7   16288.53800 2.156268
10  17645.92500 44.765792
11  17646.335   HDHD5,HDHD5-AS1
12  17646.44400 44.765792
15  18073.59200 103.154877
16  18073.656   LOC101929372,SLC25A18
17  18073.84300 103.154877

我想列出只包含来自column2的字符串的列表。我的解决办法是这样的:

代码语言:javascript
复制
my_list=list(i for i in ndf['LDU'] if isinstance(i, basestring))

由于某些原因,它不工作,并返回所有的值。任何建议都是非常感谢的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-18 16:00:46

您可以使用:

代码语言:javascript
复制
df['Column2'].loc[pd.to_numeric(df['Column2'], errors='coerce').isnull()]

或者你想把它列在单子上。

代码语言:javascript
复制
list(df['Column2'].loc[pd.to_numeric(df['Column2'], errors='coerce').isnull()])
票数 6
EN

Stack Overflow用户

发布于 2018-05-18 15:59:41

你可以用这个:

代码语言:javascript
复制
def checker(txt):
    try:
        float(txt)
        return False
    except:
        return True

df[df['[Column2]'].apply(checker)]
#    [Column1]                       [Column2]
#1   16193.009  BMS1P17,BMS1P18,BMS1P22,DUXAP8
#2   16231.289                       LINC01297
#6   16287.937                 POTEH,POTEH-AS1
#11  17646.335                 HDHD5,HDHD5-AS1
#16  18073.656           LOC101929372,SLC25A18
票数 4
EN

Stack Overflow用户

发布于 2018-05-18 16:06:12

以下是一个快速解决方案:

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame({"a":[2,3,4], "b":["string",2,'m']})

my_list = []
for index, row in df["b"].iteritems(): #change b to your col name
    if type(row) == str:
        my_list.append(row)
print(my_list)

输出:“string”,“m”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50415115

复制
相关文章

相似问题

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