我就是不明白第二行“==”是什么意思:
-这不是测试,没有if语句…
-它不是一个变量声明
我以前从未见过这个,事情是data.ctage==cat
是一个熊猫系列,而不是一个测试
for cat in data["categ"].unique():
subset = data[data.categ == cat] # Création du sous-échantillon
print("-"*20)
print('Catégorie : ' + cat)
print("moyenne:\n",subset['montant'].mean())
print("mediane:\n",subset['montant'].median())
print("mode:\n",subset['montant'].mode())
print("VAR:\n",subset['montant'].var())
print("EC:\n",subset['montant'].std())
plt.figure(figsize=(5,5))
subset["montant"].hist(bins=30) # Crée l'histogramme
plt.show() # Affiche l'histogramme
它正在测试
data.categ
的每个元素是否与cat
相等。生成真/假值向量的。这作为索引器传递给data[]
,它从data
返回对应于向量中真值的行总之,整个表达式返回来自
data
的行子集,其中data.categ
的值等于cat
(似乎可以使用
data.groupBy('categ').apply(someFunc)
更优雅地完成整个操作。)是的,这是一个测试。布尔表达式不仅限于
if
语句看起来好像
data
是一个数据帧(PANDAS)。用作数据帧索引的表达式表示选择器或筛选器。这意味着选择fieledcateg
与变量cat
(显然是预定义变量)匹配的每一行。这个行集合将成为一个新的数据帧subset
它创建一个带有索引的布尔序列,其中
data.categ
等于cat
,使用此布尔掩码,您可以过滤数据帧,换句话说subset
将具有所有记录,其中categ
是存储在cat
中的值这是一个使用数字数据的示例
相关问题 更多 >
编程相关推荐