小编Col*_*vel的帖子

Pandas:对给定列的DataFrame行求和

我有以下DataFrame:

In [1]:

import pandas as pd
df = pd.DataFrame({'a': [1,2,3], 'b': [2,3,4], 'c':['dd','ee','ff'], 'd':[5,9,1]})
df
Out [1]:
   a  b   c  d
0  1  2  dd  5
1  2  3  ee  9
2  3  4  ff  1
Run Code Online (Sandbox Code Playgroud)

我想添加一列'e',它是列的总和'a','b''d'.

穿过论坛,我觉得这样的东西会起作用:

df['e'] = df[['a','b','d']].map(sum)
Run Code Online (Sandbox Code Playgroud)

但不是!

我想实现具有列列表['a','b','d']df输入的操作.

python sum dataframe pandas

124
推荐指数
7
解决办法
26万
查看次数

有条件地用data.table替换列值

我有以下data.table:

dt <- data.table(col1 = rep("a",6), col2 = c(1,1,1,2,3,1))
Run Code Online (Sandbox Code Playgroud)

现在我想用值"bigDog"替换col2中的所有1.我可以使用data.frame精神来做到这一点:

dt$col2[dt$col2==1,] <- "bigDog"
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有不同的方式,更多"data.table oriented"

r data.table

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

Makefile错误make(e = 2):系统找不到指定的文件

我在Windows中使用makefile来推送Unix服务器上的一些文件(这里是我的makefile的同一个文件夹中的文本文件"blob.txt").我的makefile脚本是:

setup:
        pscp blob.txt username@hostname:/folder/
Run Code Online (Sandbox Code Playgroud)

我启动命令提示符,进入blob.txt和makefile所在的文件夹并输入:

make setup
Run Code Online (Sandbox Code Playgroud)

结果如下:

pscp blob.txt username@hostname:/folder/
process_begin: CreateProcess(NULL, pscp blob.txt username@hostname:/folder/, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [setup] Error 2
Run Code Online (Sandbox Code Playgroud)

在#fail中...而如果我在命令提示符中直接输入命令:

pscp blob.txt username@hostname:/folder/
Run Code Online (Sandbox Code Playgroud)

它有效......我真的很想知道为什么.

windows bash putty makefile pscp

15
推荐指数
6
解决办法
4万
查看次数

Data.frame过滤

我有以下data.frame df:

df = data.frame(col1    = c('a','a','a','a','a','b','b','c','d'),
                col2    = c('a','a','a','b','b','b','b','a','a'),
                height1 = c(NA,32,NA,NA,NA,NA,NA,25,NA),
                height2 = c(31,31.5,NA,NA,11,12,13,NA,NA),
                col3    = 1:9)

#  col1 col2 height1 height2 col3
#1    a    a      NA    31.0    1
#2    a    a      32    31.5    2
#3    a    a      NA      NA    3
#4    a    b      NA      NA    4
#5    a    b      NA    11.0    5
#6    b    b      NA    12.0    6
#7    b    b      NA    13.0    7
#8    c    a      25      NA    8
#9    d    a      NA      NA    9 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

9
推荐指数
1
解决办法
182
查看次数

不在apply中传递所有可选参数

我在使用apply函数时遇到一些问题,在不需要时将参数传递给函数.我知道apply不知道如何处理可选参数,只是在函数上传递它们.

但无论如何,这就是我想做的事情:

首先,我想指定一个我想要使用的函数列表.

functions <- list(length, sum)
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个在数据集上应用这些指定函数的函数.

myFunc <- function(data, functions) {
  for (i in 1:length(functions)) print(apply(X=data, MARGIN=2, FUN=functions[[i]]))
}
Run Code Online (Sandbox Code Playgroud)

这很好用.

data <- cbind(rnorm(100), rnorm(100))
myFunc(data, functions)

[1] 100 100
[1] -0.5758939 -5.1311173
Run Code Online (Sandbox Code Playgroud)

但我还想为一些函数使用额外的参数,例如

power <- function(x, p) x^p 
Run Code Online (Sandbox Code Playgroud)

哪个不能按我的意愿工作.如果我修改myFunc为:

myFunc <- function(data, functions, ...) {
  for (i in 1:length(functions)) print(apply(X=data, MARGIN=2, FUN=functions[[i]], ...))
}
Run Code Online (Sandbox Code Playgroud)

functions

functions <- list(length, sum, power)
Run Code Online (Sandbox Code Playgroud)

然后尝试我得到的功能

myFunc(data, functions, p=2)

Error in FUN(newX[, i], ...) : 
  2 arguments passed to 'length' …
Run Code Online (Sandbox Code Playgroud)

r function

9
推荐指数
1
解决办法
144
查看次数

什么是NULL环境?

如果我检查sqrt函数的环境,我得到NULL:

> environment(sqrt)
NULL
Run Code Online (Sandbox Code Playgroud)

另一方面,split在基础包中也可以找到的功能具有以下环境:

> environment(split)
<environment: namespace:base>
Run Code Online (Sandbox Code Playgroud)

为什么这两个函数有不同的环境,NULL环境是什么意思?

environment r

8
推荐指数
1
解决办法
416
查看次数

如何在不"移动"零的情况下生成列表的排列.在Python中

使用该itertools工具,我有给定的数字列表的所有可能的排列,但如果列表如下:

List=[0,0,0,0,3,6,0,0,5,0,0]
Run Code Online (Sandbox Code Playgroud)

itertools 并不"知道"迭代零是浪费的工作,例如以下迭代将出现在结果中:

List=[0,3,0,0,0,6,0,0,5,0,0]

List=[0,3,0,0,0,6,0,0,5,0,0]
Run Code Online (Sandbox Code Playgroud)

它们是相同的但itertools只是取第一个零(例如)并将其移动到列表中的第四个位置,反之亦然.

问题是:我如何只迭代一些选定的数字并单独留下其他如零?它可以有或没有itertools.

python list permutation

8
推荐指数
1
解决办法
438
查看次数

用Lasso回归,所有的系数都是0

我目前正在高维度的情况下用scikit试验Lasso.标签是Y_i(实数),特征是X_i(X_i是大小为d = 112的向量).我只有三对(Y_i,X_i).

d >> n = 3所以我们处于高维的情况.

import numpy as np

Y = np.array([ 0.24186978,  0.20693342,  0.00441244])

X0 = np.array([ 0.49019359, -0.11332346,  0.46826879, -0.13540658,  0.37022392, -0.23379722,  0.37143564, -0.2329437 ,  0.37291492, -0.23186138, 0.37469679, -0.23055168,  0.30316716, -0.29125359,  0.30840626, -0.28652415,  0.44230139, -0.16121566,  0.42683712, -0.17683825, 0.32256713, -0.28145402,  0.3280964 , -0.27628293,  0.33245644, -0.27231986,  0.33670266, -0.26854582,  0.2643481 , -0.33007265, 0.27145917, -0.32347124,  0.3864629 , -0.21705415,  0.3808803 , -0.22279507,  0.27458751, -0.32943364,  0.28447461, -0.31990473, 0.2917428 , -0.3130335 ,  0.29848329, -0.30676519,  0.22697144, -0.36744932,  0.2357466 , -0.35918381,  0.32553467, -0.27798238, 0.33200664, …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

6
推荐指数
1
解决办法
8806
查看次数

R:在数据帧中添加NA

我有一个像这样的数据框:

Name   Position   Value
a         1        0.2
a         3        0.4
a         4        0.3
b         1        0.5
b         2        0.4
b         5        0.3
c         2        0.3
c         3        0.4
c         5        0.1
d         1        0.2
d         2        0.4
d         3        0.5
Run Code Online (Sandbox Code Playgroud)

我想这样做,以便每个Name的Position总是从1到5,并将NAs填入Value中,如下所示:

Name   Position   Value
a         1        0.2
a         2        NA
a         3        0.4
a         4        0.3
a         5        NA
b         1        0.5
b         2        0.4
b         3        NA
b         4        NA
b         5        0.3
c         1        NA
c         2        0.3 …
Run Code Online (Sandbox Code Playgroud)

r dataframe na

6
推荐指数
2
解决办法
1460
查看次数

R连接汤森路透Eikon

我在网上搜索并没有找到连接的包Thomson Reuters Eikon.

它是一个或多或少类似的财务数据源Bloomberg.通过R此软件包支持Bloomberg :

http://findata.org/r-name-redacted/

似乎什么都没有Reuters,但也许我完全错了?理想情况下,我想连接到Reuters终端并自动废弃一些信息R.

r reuters thomson-reuters-eikon

5
推荐指数
2
解决办法
4263
查看次数