问题标签 [data-munging]

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 投票
2 回答
39 浏览

regex - 查找和替换的正则表达式帮助

我在记事本中有一个文件,其中包含以下文本:

我需要做的:在每个单词api之前,我需要在行尾插入{code:none}和插入。{code}例子:

将会:

第一部分很简单,我只需将api替换为Notepad++ 中的{code:none}api。最后一部分是我的问题。并非所有行都以相同的文本结尾......所以我需要找到一个正则表达式,它会{code}在每行的末尾插入它在某处找到单词api或其他方法......不确定这是否清楚,我可以尝试更好地解释,感谢您的帮助!

0 投票
2 回答
168 浏览

python - 具有列和行中的变量的宽到长数据表转换

我有一个包含多个表的 csv,其中变量存储在行和列中。
关于这个 csv:

  1. 我想从“宽”到“长”
  2. 一个csv中有多个“数据框”
  3. 每个“数据框”都有不同类型的变量


上面是我拥有的数据,下面是我想要的转换。

我在 R 中最舒服,但我正在练习 Python,所以任何方法都有效。

0 投票
0 回答
22 浏览

r - 将因子列值应用于 R 中的新列

做了一些广泛的搜索,但找不到解决方案。我有一个看起来像这样的数据框:

我希望它看起来像这样:

有没有简单的方法在 dplyr 中使用 mutate() (可能与基础 R 结合)来实现这个目标?

任何支持将不胜感激。

0 投票
1 回答
1174 浏览

python - 一对多合并行级别

我遇到了一个我感觉很多人都遇到过的数据问题。我目前有一个包含交易信息的数据集。根据 Transaction_Number,我会发现每个参与交易的人在他们身上花费了多长时间。

最终输出如下所示

现在我面临的问题是我缺少一列。我通过从数据库中查询并提取了一个名为“Product_Number”的字段来解决这个问题。我正在加入 Transaction_Number 上的两个表。这是问题出现的地方,第二个数据框名称 D 的 Transaction_Number 仅列出一次与 Product_Number 匹配。主数据框有多次出现的事务。因此,当我运行以下代码时,我的结果没有意义。基于 12K+ 的可能性仅输出 4 个匹配项。

我该怎么做才能找到正确的匹配项。我也尝试过左连接,任何类型的提示都会有所帮助。- 谢谢

0 投票
3 回答
659 浏览

r - 按条件将向量或 data.frame 拆分为间隔并打印间隔的第一个和最后一个值

我有 data.frame 看起来像这样:

我需要这些操作:

  1. 根据V2if将 data.frame 分割成区间TRUE
  2. 将是最后一个间隔元素V2的行TRUE
  3. 如果最后一个元素不是TRUE,它将被视为是(这可以通过添加TRUE到最后一个向量位置来轻松实现)
  4. 从创建的间隔打印V1为第一个和最后一个元素

完成此操作后,我的结果应如下所示:

我已经尝试过cumsum向量v2,但TRUE值被视为第一个间隔元素而不是最后一个

0 投票
1 回答
36 浏览

r - 优雅地重新定位数据框中的值

我正在处理 PDF 的文本层,并且需要进行一些小的更正...

我生成的整洁数据框有一个或两个数据值相差一行。我有错误定位值的“坐标”(由其他变量的组合定义),并且我有它们实际应该去的位置。我只需要将数据值从 A 移动到 B 并过滤掉 A 对应的行。例如:

改变这个:

进入这个:

我写了一些代码来实现这一点。但它似乎比它需要的要冗长得多。在这个例子中,这些函数似乎依赖于数据框的附带特征。我认为这可能是一项常见任务——这种任务有标准模式吗?或者至少是一种更优雅的方法?

0 投票
1 回答
89 浏览

r - dplyr 折叠时间段

我在下面有一个data.frame,我想“分块”时间段,以便对于每个company_id,它将时间段“折叠”到相隔三十天的时间段。

我尝试了以下方法:

问题是第 (1) 行和第 (2) 行的时间间隔应该合并为一个,因此 startDate = 2012-09-17 和 endDate = 2017-10-23 因为两者之间的时间不到三十天。

我正在寻找的输出是

0 投票
1 回答
62 浏览

python - Pandas 时间跨度和组:需要以索引作为组 id 进行分组/透视,列对应于最近的时期值

我有一个看起来像这样的表:

我试图以“宽” df 结尾,其中每个 Group_Id 都有一个观察值,并且值/值计数按新近度的顺序转换为与它们各自时期相对应的列。所以最终的结果是这样的:

其中 Value_P0 是最近的值,Value_P1 是之后的下一个最近的值,Count 列的工作方式相同。

我尝试旋转表格,使 Group_IDs 是索引,Period Start 是列,Values 或 Counts 是相应的值。

这样,我将 Group_Ids 作为一条记录,但随后需要遍历许多列的每一行并提取非 NaN 值。他们的顺序将对应于最旧到最新。不过,这似乎是一种不正确的方法。

我还考虑过按 Group_Id 进行分组,并以某种方式创建与最近日期相对应的 timedelta。然后从此旋转/取消堆叠,以便列是 timedelta,值是 value 或 value_count。我不确定如何做到这一点。我很感激帮助。

0 投票
1 回答
1030 浏览

python - 将熊猫数据框分组并将多个值收集到集合中

假设我有以下数据框df1

我想把它变成这样的数据框df2

更确切地说:

  • 按 分组A,即 columnA是索引并且在每一行中 的值A是唯一的

  • BC包含发生的值的聚合集。For A = "foo", Bwas 非此即彼"one""two"而 for "bar"it is only "two"

    • 从逻辑上讲,这应该是一个集合,每个出现的值都恰好出现一次。它可能是 Python set,但我也在问最优雅的方式是用 pandas 来表示它
  • D不包含集合,因为 forfoo D始终为 0,forbar始终为 1。如果索引值和列值之间始终存在 1:1 的关系,则该列不应包含集合。

我预计会有一个单线聚合 a la df1.groupby("A").aggregate_like_this(),但到目前为止我还没有找到它。

0 投票
2 回答
49 浏览

r - 拆分单个变量数据框

我有一个仅显示为一个变量的 CSV 文件。我想将其拆分为 6。我需要帮助。

上述代码行之后的结果是:

请帮助我将这些代码分成 6 个单独的列Article_ID, Date, Title, Subject, Topic, Code