Python 计算行中某个值的外观

Python 计算行中某个值的外观,python,pandas,loops,count,Python,Pandas,Loops,Count,嘿,我现在正在浏览pandas中的一个专栏。 现在我想处理一个值在该列中只出现一次的情况,与它多次出现的情况不同。 我尝试了几种方法,但都不管用。 现在我得到了一个错误: ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 我只是尝试首先将所有带有idI的行过滤到df\u path\u计数器中,然后我将其计数为if子句中的行。我不知道为什么它不起作用。 有什么想法吗? 这是我的代码: df_path = pd.Data

嘿,我现在正在浏览pandas中的一个专栏。 现在我想处理一个值在该列中只出现一次的情况,与它多次出现的情况不同。 我尝试了几种方法,但都不管用。 现在我得到了一个错误:
ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。
我只是尝试首先将所有带有
id
I
的行过滤到
df\u path\u计数器中,然后我将其计数为if子句中的行。我不知道为什么它不起作用。
有什么想法吗?
这是我的代码:

df_path = pd.DataFrame([(1, 'Germany'),
               (1, 'France'),
               (1, 'Indonesia'),
               (1, 'France'),
               (2, 'France'),
               (1, 'Germany'),
               (1, 'UK'),
               ],
              columns=['id', 'country']
for i, g in df_path.groupby('id'):
    df_path_counter=df_path.loc[df_path['id'] == i]
    if(df_path_counter.count()<=1):
         #...do sth
df_path=pd.DataFrame([(1,'德国]),
(1,“法国”),
(1,“印度尼西亚”),
(1,“法国”),
(2,“法国”),
(1,“德国”),
(1,“英国”),
],
列=['id','country']
对于df_path.groupby('id')中的i,g:
df_path_counter=df_path.loc[df_path['id']==i]

如果(df_path_counter.count(),请使用
Series.value_counts
创建count==1的国家列表,并使用
Series.isin
的布尔索引进行筛选:

country_counts = df_path['country'].value_counts()
country_1 = country_counts[country_counts.eq(1)].index

df_path[df_path['country'].isin(country_1)]
[外]


使用请包含输入数据帧(以及可以复制粘贴以实例化它的代码)和所需的输出数据帧。而不是count(),你的意思是?是这样的@timgeb。有什么解决方法吗?我看不到所需的输出df。
    id  country
2   1   Indonesia
6   1   UK