小编scr*_*Owl的帖子

如何重命名data.frame中的单个列?

我知道如果我有一个超过1列的数据框,我可以使用

colnames(x) <- c("col1","col2")
Run Code Online (Sandbox Code Playgroud)

重命名列.如果它只是一列,我该怎么做?意味着矢量或数据框中只有一列.

例:

trSamp <- data.frame(sample(trainer$index, 10000))
head(trSamp )
#   sample.trainer.index..10000.
# 1                      5907862
# 2                      2181266
# 3                      7368504
# 4                      1949790
# 5                      3475174
# 6                      6062879

ncol(trSamp)
# [1] 1
class(trSamp)
# [1] "data.frame"
class(trSamp[1])
# [1] "data.frame"
class(trSamp[,1])
# [1] "numeric"
colnames(trSamp)[2] <- "newname2"
# Error in names(x) <- value : 
#   'names' attribute [2] must be the same length as the vector [1]
Run Code Online (Sandbox Code Playgroud)

r

307
推荐指数
12
解决办法
77万
查看次数

如何使用SQL Server 2008执行多个CASE WHEN条件?

我想要做的是为同一列使用多个CASE WHEN条件.

这是我的查询代码:

   SELECT   Url='',
            p.ArtNo,
            p.[Description],
            p.Specification,
            CASE 
            WHEN 1 = 1 or 1 = 1 
               THEN 1 
               ELSE 0 
            END as Qty,
            p.NetPrice,
            [Status] = 0
      FROM  Product p (NOLOCK)
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是对同一列"qty"使用多个WHEN.

如下面的代码所示:

IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

156
推荐指数
4
解决办法
76万
查看次数

如何将tsv文件加载到Pandas DataFrame中?

我是python和pandas的新手.我正在尝试将tsv文件加载到熊猫中DataFrame.

这就是我正在尝试的错误和我得到的错误:

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))

Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__
    raise PandasError('DataFrame constructor not properly called!')
PandasError: DataFrame constructor not properly called!
Run Code Online (Sandbox Code Playgroud)

python csv pandas

99
推荐指数
5
解决办法
12万
查看次数

如何按多列对data.table进行分组?

我正在使用该data.table软件包来加速数据集上的一些摘要统计收集.

我很好奇是否有一种方法可以按多列分组.我的数据如下:

  purchaseAmt        adShown        url
   15.54            00001         150000001
    4.82            00002         150000001
  157.99            05005         776300044
   ...               ...            ...
Run Code Online (Sandbox Code Playgroud)

我可以这样做:

adShownMedian <- df1[,median(purchaseAmt),by="adShown"]
Run Code Online (Sandbox Code Playgroud)

获得每个广告的中位数.我怎么会做一些结合adShownurl

我试过这个:

adShownMedian <- df1[,median(purchaseAmt),by=c("adShown","url")]
Run Code Online (Sandbox Code Playgroud)

但没有运气.

有什么建议?

group-by r data.table

61
推荐指数
2
解决办法
8万
查看次数

R不在子集中

可能重复:
从数据框中删除多个元素的标准方法

我知道在R中,如果你正在搜索另一个组的子集或基于id的匹配,你会使用类似的东西

subset(df1, df1$id %in% idNums1)
Run Code Online (Sandbox Code Playgroud)

我的问题是如何做相反的事情或选择不匹配ids矢量的项目.

我尝试使用!但收到错误消息

subset(df1, df1$id !%in% idNums1)
Run Code Online (Sandbox Code Playgroud)

我认为我的备份是这样做的:

matches <- subset(df1, df1$id %in% idNums1)
nonMatches <- df1[(-matches[,1]),]
Run Code Online (Sandbox Code Playgroud)

但我希望有一些更高效的东西.

r subset

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

R将日期添加到日期

我有一个日期,我想添加几天,以便找到未来的日期.

例如,我如何找到1/1/2001之后45天的日期?

datetime r date

51
推荐指数
4
解决办法
7万
查看次数

Pandas:使用范围内的随机整数在df中创建新列

我有一个50k行的熊猫数据框.我正在尝试添加一个新列,它是从1到5的随机生成的整数.

如果我想要50k随机数我会使用:

df1['randNumCol'] = random.sample(xrange(50000), len(df1))
Run Code Online (Sandbox Code Playgroud)

但为此,我不知道该怎么做.

R中的旁注,我会这样做:

sample(1:5, 50000, replace = TRUE)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

python random integer range pandas

50
推荐指数
2
解决办法
4万
查看次数

R定义空数据帧的维度

我试图从数据集的多个子集中收集一些数据,并需要创建一个数据框来收集结果.我的问题是不知道如何创建具有已定义列数的空数据框,而实际上没有数据放入其中.

collect1 <- c()  ## i'd like to create empty df w/ 3 columns: `id`, `max1` and `min1`

for(i in 1:10){
collect1$id <- i
ss1 <- subset(df1, df1$id == i)
collect1$max1 <- max(ss1$value)
collect1$min1 <- min(ss1$value)
}
Run Code Online (Sandbox Code Playgroud)

我觉得这个问题非常愚蠢(我几乎觉得我之前已经问过它但是找不到它)但是非常感谢任何帮助.

r

47
推荐指数
6
解决办法
17万
查看次数

R舍入到最接近的.5或.1

我有一个股票价格数据集已经四舍五入到小数点后两位(1234.56).我现在正试图舍入到每个股票不同的特定值.这里有些例子:

Current Stock Price         Minimum Tick Increment       Desired Output
  123.45                            .50                      123.50
  155.03                            .10                      155.00
  138.24                            .50                      138.00
  129.94                            .10                      129.90
   ...                              ...                       ...
Run Code Online (Sandbox Code Playgroud)

我不是很确定如何做到这一点,但我愿意接受建议.

r rounding r-faq

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

R glmnet:"(list)对象不能被强制输入'double'"

我正在尝试glmnet在数据集上使用该包.我正在使用cv.glmnet()获取lambda值glmnet().这是数据集和错误消息:

> head(t2)
  X1 X2        X3 X4 X5         X6    X7 X8 X9 X10 X11 X12
1  1  1 0.7661266 45  2 0.80298213  9120 13  0   6   0   2
2  2  0 0.9571510 40  0 0.12187620  2600  4  0   0   0   1
3  3  0 0.6581801 38  1 0.08511338  3042  2  1   0   0   0
4  4  0 0.2338098 30  0 0.03604968  3300  5  0   0   0   0
5  5  0 0.9072394 49  1 0.02492570 …
Run Code Online (Sandbox Code Playgroud)

r glmnet

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

标签 统计

r ×7

pandas ×2

python ×2

csv ×1

data.table ×1

date ×1

datetime ×1

glmnet ×1

group-by ×1

integer ×1

r-faq ×1

random ×1

range ×1

rounding ×1

sql ×1

sql-server-2008 ×1

subset ×1