我有一个系列,其中包括一些随机产品的清单。这就是我打印描述的样子:
<bound method NDFrame.describe of 176 reversible jacket
231 the north face resolve 2 jacket
234 columbia pike lake jacket
279 girl's 7-16 knitworks skater belted dress faux...
303 flocked quilted jacket
...
7665 tommy hilfiger big boys wayne colorblocked bas...
7685 men's toronto raptors columbia red flash forwa...
7796 the north face uo exclusive topography fanorak...
7809 lauren ralph lauren solid ultraflex classic-fi...
7922 tommy hilfiger sport faux-sherpa colorblocked ...
Name: desc, Length: 146, dtype: object>
<class 'pandas.core.series.Series'>
在这之后我有两个陈述
max_occurence_prod = prod.where(prod.str.len() > 1)
curr_product = max_occurence_prod.value_counts().idxmax()
但是,每次运行这段代码时,curr_product
的值似乎都不同。例如,我第一次运行这个代码时,curr_product
的值是“diamond quilted packable jacket
”,第二次是“boys' logan jacket
”
根据我的理解,value_counts()
函数应该返回一个包含唯一值计数的序列。如果每次返回的序列都完全相同,那么idxmax()
不也应该返回相同的对应值吗?我似乎不明白为什么每次都返回不同的值。你知道吗
下面是总体代码
max_occurence_prod = prod.where(prod.str.len() > 1)
curr_product = max_occurence_prod.value_counts().idxmax()
#new value is printed each time
print(max_occurence_prod.value_counts().idxmax())
抱歉,如果有什么不清楚的,我是相当新的Python和熊猫
关于熊猫如何处理捆绑值,似乎一直存在着不一致的看法。你知道吗
至于
idxmax()
,documentation明确指出:恐怕您提供的信息量不足以让我用您的数据生成一个完整的示例,但下面是一个尝试:
运行一次命令:
第二次指挥:
第三次:
结论是,由于
value_counts()
而不是idxmax()
,每次都会得到不同的值。使其始终可复制的一些解决方案是也使用sort_index()
,以便输出不依赖于随机值。例如:始终返回:
相关问题 更多 >
编程相关推荐