Python 属性错误:';系列';对象没有属性';价值';

Python 属性错误:';系列';对象没有属性';价值';,python,pandas,dataframe,Python,Pandas,Dataframe,我想得到一份电话号码的清单 这是密码 response='108' group="MAMA" optout='False' phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone'].values print(phone_n

我想得到一份电话号码的清单

这是密码

response='108'
group="MAMA"
optout='False'

phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone'].values
    print(phone_numbers)
我的数据框看起来是这样的

phone       group   County  PNC/ANC Facility Name   Optedout    Facility Code
25470000000 MAMA    Orange  PNC     Main Centre       FALSE      112
25470000000 MAMA    Orange  PNC     Main Centre       FALSE      112
25470000010 MAMA    Orange  PNC     Centre            FALSE      108
25470000020 MAMA    Orange  PNC     Centre            FALSE      108
25470000000 MAMA    Orange  PNC     Main Centre       FALSE      112
这就是我得到的错误

AttributeError: 'Series' object has no attribute 'value'
期望输出

[25470000010,25470000020]

我似乎不知道我做错了什么。请帮助我修复此问题

您需要删除
。值

phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone']

您需要删除
。值

phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone']

@Serge Ballesta的评论是最有可能的原因

您共享的代码中存在拼写错误。检查是否调用了
value
而不是
values

以下代码按预期工作:

import pandas as pd

data = {'phone': [25470000000, 25470000000, 25470000010, 25470000020, 25470000000], 'group': ['MAMA', 'MAMA', 'MAMA', 'MAMA', 'MAMA'], 'County': ['Orange', 'Orange', 'Orange', 'Orange', 'Orange'], 'PNC/ANC': ['PNC', 'PNC', 'PNC', 'PNC', 'PNC'], 'Facility Name': ['Main Centre', 'Main Centre', 'Centre', 'Centre', 'Main Centre'], 'Optedout': ['FALSE', 'FALSE', 'FALSE', 'FALSE', 'FALSE'], 'Facility Code': [112, 112, 108, 108, 112]}

merged_df = pd.DataFrame.from_dict(data)

facility_number = 108
group = 'MAMA'
optout = 'FALSE'

phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone'].values

print(phone_numbers)
输出:

[25470000010 25470000020]
通过删除
.values
,输出为数据帧:

2    25470000010
3    25470000020
Name: phone, dtype: int64

@Serge Ballesta的评论是最有可能的原因

您共享的代码中存在拼写错误。检查是否调用了
value
而不是
values

以下代码按预期工作:

import pandas as pd

data = {'phone': [25470000000, 25470000000, 25470000010, 25470000020, 25470000000], 'group': ['MAMA', 'MAMA', 'MAMA', 'MAMA', 'MAMA'], 'County': ['Orange', 'Orange', 'Orange', 'Orange', 'Orange'], 'PNC/ANC': ['PNC', 'PNC', 'PNC', 'PNC', 'PNC'], 'Facility Name': ['Main Centre', 'Main Centre', 'Centre', 'Centre', 'Main Centre'], 'Optedout': ['FALSE', 'FALSE', 'FALSE', 'FALSE', 'FALSE'], 'Facility Code': [112, 112, 108, 108, 112]}

merged_df = pd.DataFrame.from_dict(data)

facility_number = 108
group = 'MAMA'
optout = 'FALSE'

phone_numbers = merged_df.loc[(merged_df['Facility Code'] ==facility_number) & (merged_df['group'] == group) & (merged_df['Optedout'] == optout)]['phone'].values

print(phone_numbers)
输出:

[25470000010 25470000020]
通过删除
.values
,输出为数据帧:

2    25470000010
3    25470000020
Name: phone, dtype: int64

只需删除
.values
partRemove
.values
。序列确实具有
values
属性。您是否可以按照错误提示编写
?只需删除
.values
部分删除
.values
。一个系列确实具有
属性。您是否可以按照错误提示编写