我只是不明白第二行“==”的意思:
-这不是一个测试,没有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
是的,这是一个测试。布尔表达式不限于if
语句。
它看起来好像数据
是一个数据帧(PANDAS)。用作数据帧索引的表达式表示选择器或筛选器。这意味着选择fieledcateg
与变量cat
匹配的每一行(显然是预定义的变量)。此行集合将成为一个新的数据帧,子集
。
它创建一个带有索引的布尔序列,其中数据.categ
等于cat
,使用此布尔掩码,您可以过滤数据帧,换句话说子集
将包含categ
为cat
中存储的值的所有记录。
这是一个使用数字数据的示例
np.random.seed(0)
a = np.random.choice(np.arange(2), 5)
b = np.random.choice(np.arange(2), 5)
df = pd.DataFrame(dict(a = a, b = b))
df[df.a == 0].head()
# a b
# 0 0 0
# 2 0 0
# 4 0 1
df[df.a == df.b].head()
# a b
# 0 0 0
# 2 0 0
# 3 1 1
它正在测试data.categ
的每个元素是否与cat
相等。生成真/假值向量的。这作为索引器传递给data[]
,它从data
返回与向量中的真值相对应的行。
总之,整个表达式返回data
中的行子集,其中data.categ
的值等于cat
。
(似乎可以使用更优雅地完成整个操作data.groupBy('categ')。
我已经能够验证是否会产生排序的。但是,它不会返回列表。为什么?
问题内容: 我有数据集: 详细原始数据-> http://pastebin.com/beiEeS80 ,我放入其中,这是我完整的代码: 但这是返回错误 如何解决呢? 问题答案: 我在Jupyter中运行了此文件,并将exampledata.txt放置在与笔记本相同的目录中。 请注意第一行: 未在数据文件中定义时加载列。我删除了此列名。 解 说明 您看到的问题是pd.qcut的结果,假设5个bin大
结束时更新更新2结束时更新 我从这里读到:从dataframe列获取列表 熊猫数据框列在拉出时是熊猫系列 然而,我的情况并非如此: 第一部分(建立DataFrame读取json刮擦)因为它包含业务信息,我不能显示完整的代码,但基本上它读取一行数据(存储在系列中),并在DataFrame的末尾追加。 下一部分(检查类型):(请忽略函数的功能) 最后调用函数:(“Raw_Impressions”是一个
在f2中,我们有指针 改为func f2(arg int)(int,*error)?或者,在这种情况下,为什么我们返回指针而不是值?
问题内容: 在Java中,hashcode()方法返回整数而不是long。有什么具体原因吗? 问题答案: 那么,一个良好的理由是,基于数据结构(,)使用一个数组来存储箱,并且阵列被限制为索引。 如果必须将其映射到数组索引,那么您将一无所获。
问题内容: 我试图从整个熊猫数据框中获取最大值。我对它来自哪个行或列不感兴趣。我只对数据框中的单个最大值感兴趣。 这是我的数据框: 看起来是这样的: 预期产量: 我当时假设df.max()会完成这项工作,但是它为每一列返回一个最大值,但是我对此并不感兴趣。我需要整个数据框的最大值。 问题答案: 可以使用获得的所有的数据帧中值的最大值,或者我们使用: 最大值而不是43.0,因为在CPython2中,