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
。一个系列确实具有值
属性。您是否可以按照错误提示编写值
?