我已广泛使用Python来执行各种特殊数据调整和辅助任务.由于我正在学习C#,我认为看看我是否可以用C#重写其中的一些脚本会很有趣.
是否有可执行文件可以获取.cs文件并运行它ala python?
我有一个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.
我有一个数据框,我想按一列而不是下一列进行排序(如果可能,使用 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
真实数据集中有多个不同的“变量”,其中一半需要按数字顺序排序,一半需要按字母顺序排序。有谁知道如何做到这一点?
我有一些我曾经写过的Python脚本,做了一些数据修改.我需要将一些脚本"移植"到C#.
Python提供了一个CSV模块,便于将CSV数据从文件导入字典.我希望在我的库中具有相同的功能,但由于我是C#的新手,因此决定来这里询问将CSV数据导入DataTable的最佳实践方法.
我可以自己动手,还是有一个'CSV模块'还有Python?
我有一堆指标,它们消耗列的整个浮点值列表(想想我在其上进行一些异常值分析的一系列订单值,因此需要整个值数组)。
我可以将整个列表作为参数传递吗?如果我完全用 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) 我需要一些简洁的帮助,首先在以下操作的熊猫中有效配方:
给定格式的数据框架
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的列的连接名称.
我正在尝试将以下数据集转换为第二个数据集。基本上,我试图在每个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) 该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。
我有一个数据框:
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)
我尝试使用assign,df.loc但没有用。
这样做的最佳方法是什么?
我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)
我有很多列和年份,所以我无法手动编辑它们,所以有人可以告诉我如何做到这一点吗?
data-munging ×10
pandas ×4
python ×4
dataframe ×3
r ×3
c# ×2
data-science ×1
openxlsx ×1
pivot-table ×1
scripting ×1
tidyverse ×1
udf ×1