【发布时间】:2016-10-24 20:00:13
【问题描述】:
从数据框 df1 中的列 (company_name) 中,我想获取所有以数字开头的值。我将代码编写为 -
df2 = df1[df1.company_name.str[0].isdigit()].copy()
我收到以下错误 -
AttributeError: 'Series' 对象没有属性 'is digit'
【问题讨论】:
标签: python string pandas filter dataframe
从数据框 df1 中的列 (company_name) 中,我想获取所有以数字开头的值。我将代码编写为 -
df2 = df1[df1.company_name.str[0].isdigit()].copy()
我收到以下错误 -
AttributeError: 'Series' 对象没有属性 'is digit'
【问题讨论】:
标签: python string pandas filter dataframe
您需要添加str,因为str.isdigit。另外我认为copy() 是没有必要的:
df2 = df1[df1.company_name.str[0].str.isdigit()]
示例:
import pandas as pd
df1 = pd.DataFrame({'company_name': ['aa','1ss','wer']})
print (df1)
company_name
0 aa
1 1ss
2 wer
df2 = df1[df1.company_name.str[0].str.isdigit()]
print (df2)
company_name
1 1ss
【讨论】: