我在Python数据框中有一些地址信息,我想检查其中一列的第一个字符是否为数字。我发现了类似的查询,但在数据框中没有任何内容。我可以使用以下方法提取第一个字符没问题:
check = df['ADDRESS_LINE_1'].str[0]
然而,如果我尝试
check = df['ADDRESS_LINE_1'].str[0].isdigit()
我收到错误
'Series' object has no attribute 'isdigit'
我找不到一个等效的代码来让它在数据帧中工作。我也尝试使用检查信息创建一个新列,但这会导致相同的错误。任何帮助表示赞赏。
答案 0 :(得分:2)
你需要链接另一个images=[]
for i in range(1,500):
img1= img1.flatten()
img2=img2.flatten()
#saving the image
images.append(img1)
images.append(img2)
img_arr = np.stack(images, axis=0)
print(len(images))
print(img_arr)
print(img_arr.shape)
:
str
示例:
check = df['ADDRESS_LINE_1'].str[0].str.isdigit()
#^ here
您可以使用正则表达式专门定位第一个字符是否为数字:
In [127]:
s = pd.Series(['3asd', 'asd', '3423', 'a123'])
s.str[0].str.isdigit()
Out[127]:
0 True
1 False
2 True
3 False
dtype: bool
错误告诉您In [128]:
s.str.match('^\d')
Out[128]:
0 True
1 False
2 True
3 False
dtype: bool
不是isdigit
的方法,str.isdigit
是
答案 1 :(得分:0)
另一种选择,你可以使用str.match
来匹配字符串开头的正则表达式:
df
# A
#0 2sdf
#1 sd3
#2 sss
#3 45q
df.A.str.match("\d")
#0 True
#1 False
#2 False
#3 True
#Name: A, dtype: bool