标签: data-munging

用C#编写脚本?

我已广泛使用Python来执行各种特殊数据调整和辅助任务.由于我正在学习C#,我认为看看我是否可以用C#重写其中的一些脚本会很有趣.

是否有可执行文件可以获取.cs文件并运行它ala python?

c# scripting data-munging

5
推荐指数
1
解决办法
517
查看次数

大熊猫的数据

我有一个CSV文件,其行如下所示:

ID,98.4,100M,55M,65M,75M,100M,75M,65M,100M,98M,100M,100M,92M,0#,0N#,
Run Code Online (Sandbox Code Playgroud)

我可以用它阅读

#!/usr/bin/env python

import pandas as pd
import sys

filename = sys.argv[1]
df = pd.read_csv(filename)
Run Code Online (Sandbox Code Playgroud)

给定一个特定的列,我想的行由ID,然后输出的平均值和标准偏差对每个ID分开.

我的第一个问题是,如何从数字中删除所有非数字部分,例如"100M"和"0N#",它们应分别为100和0.

我也试过循环相关的标题和使用

df[header].replace(regex=True,inplace=True,to_replace=r'\D',value=r'')
Run Code Online (Sandbox Code Playgroud)

正如Pandas DataFrame中所建议的那样:从列中的字符串中删除不需要的部分.

然而,这将98.4变为984.

python data-manipulation dataframe pandas data-munging

5
推荐指数
1
解决办法
396
查看次数

如何在R中对混合值进行排序

我有一个数据框,我想按一列而不是下一列进行排序(如果可能,使用 tidyverse)。

我检查了以下地址,但解决方案似乎不起作用。

订购“混合”向量(带有字母的数字)

示例代码:

variable <- c("channel", "channel", "channel", "comp_ded", "comp_ded", "comp_ded")
level <- c("DIR", "EA", "IA", "500", "750", "1000")
df <- as_tibble(cbind(variable, level))
Run Code Online (Sandbox Code Playgroud)

这并没有给我我想要的:

df <- df %>% arrange(variable, level)
Run Code Online (Sandbox Code Playgroud)

级别列的顺序如下:

variable level channel DIR channel EA channel IA level 1000 level 500 level 750

我需要他们:

variable level channel DIR channel EA channel IA level 500 level 750 level 1000

真实数据集中有多个不同的“变量”,其中一半需要按数字顺序排序,一半需要按字母顺序排序。有谁知道如何做到这一点?

r data-munging tidyverse

5
推荐指数
1
解决办法
2015
查看次数

使用C#将csv文件读入DataTable?

我有一些我曾经写过的Python脚本,做了一些数据修改.我需要将一些脚本"移植"到C#.

Python提供了一个CSV模块,便于将CSV数据从文件导入字典.我希望在我的库中具有相同的功能,但由于我是C#的新手,因此决定来这里询问将CSV数据导入DataTable的最佳实践方法.

我可以自己动手,还是有一个'CSV模块'还有Python?

c# data-munging

4
推荐指数
1
解决办法
8639
查看次数

将列表/数组作为参数/返回类型传递和返回到 Redshift 中的 UDF

我有一堆指标,它们消耗列的整个浮点值列表(想想我在其上进行一些异常值分析的一系列订单值,因此需要整个值数组)。

我可以将整个列表作为参数传递吗?如果我完全用 python 来做这件事,那就需要太多的数据处理了。想法?

# Redshift UDF - the red part is invalid signature & needs a fill 
create function Median_absolute_deviation(y <Pass a list, but how? >,threshold float) 

--INPUTS: 
--a list of order values, -- a threshold
 RETURNS <return a list, but how? > 

STABLE 
AS $
    import numpy as np

    m = np.median(y)
    abs_dev = np.abs(y - m)
    left_mad = np.median(abs_dev[y<=m])
    right_mad = np.median(abs_dev[y>=m])
    y_mad = np.zeros(len(y))
    y_mad[y < m] = left_mad
    y_mad[y > m] = right_mad
    modified_z_score = …
Run Code Online (Sandbox Code Playgroud)

user-defined-functions amazon-redshift udf data-munging

4
推荐指数
1
解决办法
3850
查看次数

如何有效地重新安排大熊猫数据如下?

我需要一些简洁的帮助,首先在以下操作的熊猫中有效配方:

给定格式的数据框架

id    a   b    c   d
1     0   -1   1   1
42    0    1   0   0
128   1   -1   0   1
Run Code Online (Sandbox Code Playgroud)

构造格式的数据框:

id     one_entries
1      "c d"
42     "b"
128    "a d"
Run Code Online (Sandbox Code Playgroud)

也就是说,列"one_entries"包含原始帧中的条目为1的列的连接名称.

python dataframe pandas data-munging

4
推荐指数
1
解决办法
63
查看次数

R-如何在数据框中的两个对应ID之间填充NA

我正在尝试将以下数据集转换为第二个数据集。基本上,我试图在每个ID与该ID之间填写NA。

每个ID对应两个时间戳,我将它们加入了较大的date_time列。出于可复制性的目的,在连接之间执行sql(date_time列非常大),甚至获取原始数据集并在每个id之间创建时间戳,然后将其加入(我有太多的时间),在计算上过于昂贵ID即可)。我已经成功完成了这两种方法,而我拥有的数据量却花费了太多时间。我希望使用此数据集来处理数据。看起来很简单,但这确实让我感到困惑。任何帮助,将不胜感激。

当前数据集:

             date_time     id
                <dttm>  <dbl>
 1 2017-01-30 08:00:00     NA
 2 2017-01-30 08:00:01     NA
 3 2017-01-30 08:00:02     1
 4 2017-01-30 08:00:03     NA
 5 2017-01-30 08:00:04     NA
 6 2017-01-30 08:00:05     NA
 7 2017-01-30 08:00:06     NA
 8 2017-01-30 08:00:07     1
 9 2017-01-30 08:00:08     NA
10 2017-01-30 08:00:09     NA
11 2017-01-30 08:00:10     2
12 2017-01-30 08:00:11     NA
13 2017-01-30 08:00:12     NA
14 2017-01-30 08:00:13     NA
15 2017-01-30 08:00:14     2
16 2017-01-30 08:00:15     NA
17 2017-01-30 08:00:16     3
18 2017-01-30 08:00:17     NA
19 …
Run Code Online (Sandbox Code Playgroud)

r data-munging

3
推荐指数
1
解决办法
142
查看次数

openxlsx::write.xlsx 覆盖现有工作表而不是追加

openxlsx::write.xlsx功能是覆盖电子表格而不是添加另一个选项卡。

我尝试遵循 Stackoverflow 的一些方向,但没有成功。

dt.escrita <- format(Sys.time(), '%Y%m%d%H%M%S')

write.xlsx( tbl.messages
           ,file = paste('.\\2_Datasets\\messages_',dt.escrita,'.xlsx')
           ,sheetName = format(Sys.time(), '%d-%m-%y')
           ,append = FALSE)

write.xlsx( tbl.dic.dados
            ,file = paste('.\\2_Datasets\\messages_',dt.escrita,'.xlsx')
            ,sheetName = 'Dicionario_Dados'
            ,append = TRUE)
Run Code Online (Sandbox Code Playgroud)

包含两个选项卡的电子表格:30-07-19 和 Dicionario_Dados。

r data-munging openxlsx

3
推荐指数
1
解决办法
1万
查看次数

如果满足条件,pandas 将值从一列复制到另一列

我有一个数据框:

df = 
col1  col2  col3 
1      2     3
1      4     6
3      7     2
Run Code Online (Sandbox Code Playgroud)

我想编辑df,当 col1 的值小于 2 时,从col3.

所以我会得到:

new_df = 
col1  col2  col3 
3      2     3
6      4     6
3      7     2
Run Code Online (Sandbox Code Playgroud)

我尝试使用assigndf.loc但没有用。

这样做的最佳方法是什么?

python pandas data-science data-munging

3
推荐指数
2
解决办法
4903
查看次数

Pandas 数据透视表格式化列名

pandas.pivot_table在 Pandas 数据帧上使用了该函数,我的输出看起来与此类似:

                    Winners                 Runnerup            
         year       2016    2015    2014    2016    2015    2014
Country  Sport                              
india    badminton                              
india    wrestling  
Run Code Online (Sandbox Code Playgroud)

我真正需要的是像下面这样的东西

Country Sport   Winners_2016    Winners_2015    Winners_2014    Runnerup_2016   Runnerup_2015   Runnerup_2014
india   badminton   1   1   1   1   1   1
india   wrestling   1   0   1   0   1   0
Run Code Online (Sandbox Code Playgroud)

我有很多列和年份,所以我无法手动编辑它们,所以有人可以告诉我如何做到这一点吗?

python pivot-table dataframe pandas data-munging

2
推荐指数
1
解决办法
4812
查看次数