问题标签 [py-datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

python - 如何使用包含列表中值的字典扩展 pydatable 的列?

我创建了一个示例数据表,

它可以被视为,

我正在按照以下步骤中的说明进行一些数据操作:

第 1 步:将两个新列添加到数据表中

输出:

第2步:

字典被创建为,并注意它的值存储在列表中

第 3 步:

使用上述 dict 创建的新数据表并附加到数据表 DT_EX 为,

输出:

在这里我们可以看到一个数据表,其中包含新添加的列(折扣、费用)

第4步:

正如我们所知,扩展函数可用于添加我试图在名为test_dict的字典中传递的列,

输出:

注意:在输出中,可以看到为每个字典键(折扣、费用)创建了大约 8 列(填充列表的每个元素),新添加的列总数为 16。

第 5 步:

我曾想过用numpy数组的值创建一个字典,

我已通过test_dict_1将功能扩展为

输出:

在这一步,extend 获取了一个字典并将新列添加到 DT_EX。这是一个预期的输出。

那么,在这里我想了解第 4 步中发生了什么?为什么不从字典键中获取值列表来添加新列?为什么执行第 5 步案例?

你能写下你的评论/答案吗?

0 投票
1 回答
38 浏览

python - 如何在 pydatatable 中选择使用未格式化名称创建的列?

我创建了一个数据表,

并将其视为

在这里我们可以注意到每列在两个单词之间包含一个空格,

我现在选择第一列,

它抛出一个错误

现在我在列名周围加上了一些引号并尝试选择,

那么如何指定这些列名,我可以做一些字符串操作,比如用下划线 _ Year_sold 或 Year_Construction 等调整空间等。

加载数据集时 fread() 中是否有任何选项来处理这种类型的列名?

  • 将所有列转换为小写或大写名称

  • 删除列名之间的所有特殊符号空格

  • 如果需要,请缩短列名长度。

0 投票
2 回答
103 浏览

python - 扩展pydatatable中的数据框时如何将f表达式列传递给函数?

我正在尝试生成一些随机数据并将其保存在数据表中,因此我创建了一个自定义函数:

在执行此函数时,它会返回一个 DT:

我想在 y 列表达式中添加一个 np.sin 函数:

在执行此函数时,它会抛出一个错误:

我的问题是如何将数据表列传递给任何其他函数,如 np.sin(fx) 或 np.round(fx) 等。

我也尝试过这些变体,但都没有奏效。

  • np.sin(f['x'])

  • np.sin(['x'])

0 投票
3 回答
298 浏览

python - py-datatable 'in' 运算符?

我无法in使用预定义的项目列表执行标准操作。我想做这样的事情:

此示例导致错误:

TypeError: A boolean value cannot be used as a row selector

不幸的是,似乎没有用于in操作的内置对象。我想使用像%in%R 语言原生的运算符之类的东西。有什么方法可以在python中完成这个吗?

我可以通过使用多个“等于”运算符来采用这种方法,但是当您要考虑大量项目时,这很不方便:

数据表 0.10.1
python 3.6

0 投票
1 回答
490 浏览

python - Python Datatable/Pydatatable:如何通过正则表达式过滤数据表中的行并根据过滤器为新变量赋值

我想根据 python-datatable 语法中另一列中的正则表达式匹配将值分配给新列。

DT[通过正则表达式获取行,为新列赋值,]

是否有另一种解决方案,无需在数据表包中使用“to_list()”等进行转换(没有循环)?

此处,此问题中正则表达式的结果不允许对整列进行操作: Python data.table row filter by regex This is for pandas but not datatable: How to filter rows in pandas by regex

0 投票
1 回答
126 浏览

python - 如何在 python 数据表中查找和标记重复项

我想按组识别 py-dtatable 中的重复行(并创建一个带有布尔值的辅助列 C)。

它应该按照以下方式工作:

我得到 -> TypeError: Expected a Frame,而不是当我对其应用分组以找出组的独特观察时得到类'datatable.expr.expr.Expr'。

但是, unique() 不起作用,关于 py-datatable 可用函数的文档非常稀疏:https ://datatable.readthedocs.io/en/v0.10.1/using-datatable.html#perform-groupby -计算

我不确定 py-datatable 是否落后于 R datatable 并且它不可能,因为它似乎是一个基本操作,但我找不到解决方案。有人有它或可以向我指出资源的方向吗?理想情况下,这将包括在一行代码中的新列 C 中分配布尔(是否重复)的语法。

0 投票
1 回答
100 浏览

python - Pydatatable 枚举每组中的行

给定以下数据表

我想创建列'C',它对列A和B中每个组内的行进行编号,如下所示:

根据这个线程,熊猫 cumcount() 或 rank() 将是选项,但似乎没有为 pydatatable 定义:

a) 如何对组内的行进行编号?

b) 是否有包含 pydatatable 的所有当前可用功能的综合资源?

0 投票
2 回答
60 浏览

python - 如何根据类型取消选择 pydatatable 列?

我创建了一个数据表,

及其输出为

数据表类型可以检查为,

我现在可以选择整数和布尔类型列作为

按照建议,可以使用此代码取消选择列,

那么,如何只取消选择整数和布尔类型的列?以下代码块未解决

0 投票
2 回答
116 浏览

python - 如何在 pydatatable 中的列之间应用聚合(sum、mean、max、min 等)?

我有一个数据表,

它可以被视为,

我现在对 3 列中的所有值进行分组运算,

它产生一个输出,

在这里,我手动给出了每个字段名称和聚合函数(dt.sum),因为它只需要 3 列我可以轻松执行此任务,但如果我必须处理超过 10、20 等等领域?

你有其他解决方案吗?

参考:我们在 Rdatatable 中具有与以下相同的功能:

0 投票
1 回答
62 浏览

python - 如何将字符串类型列的因子级别集中到pydatatable中的另一个列中?

我有一个数据表,

它可以被视为,

我现在想用前 4 个级别“Caturra”、“Bourbon”、“Typica”、“Catuai”填写品种列,其余级别应视为“其他”。

预期的输出是:

案例二:

我有一个数据表,

它可以被视为

  1. 列品种有大约 12 个不同的值,

在这里,我想将最常见的字段品种级别从 12 折叠到 2。

预期的输出将是,