小编Whi*_*ard的帖子

将一个pandas数据帧列表连接在一起

我有一个Pandas数据帧列表,我想将它们组合成一个Pandas数据帧.我使用的是Python 2.7.10和Pandas 0.16.2

我从以下位置创建了数据框列表:

import pandas as pd
dfs = []
sqlall = "select * from mytable"

for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000):
    dfs.append(chunk)
Run Code Online (Sandbox Code Playgroud)

这将返回数据帧列表

type(dfs[0])
Out[6]: pandas.core.frame.DataFrame

type(dfs)
Out[7]: list

len(dfs)
Out[8]: 408
Run Code Online (Sandbox Code Playgroud)

这是一些示例数据

# sample dataframes
d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., 3., 2., 1.]})
d2 = pd.DataFrame({'one' : [5., 6., 7., 8.], 'two' : [9., 10., 11., 12.]})
d3 = pd.DataFrame({'one' : [15., 16., 17., 18.], 'two' : [19., 10., 11., …
Run Code Online (Sandbox Code Playgroud)

python concat dataframe pandas

104
推荐指数
4
解决办法
10万
查看次数

使用data.table计算和汇总/汇总列

我想计算和聚合(总和)a中的列data.table,并且找不到最有效的方法来执行此操作.这似乎与我想要的R总结多个列data.table接近.

我的数据:

set.seed(321)
dat <- data.table(MNTH = c(rep(201501,4), rep(201502,3), rep(201503,5), rep(201504,4)), 
                  VAR = sample(c(0,1), 16, replace=T))

> dat
     MNTH VAR
 1: 201501   1
 2: 201501   1
 3: 201501   0
 4: 201501   0
 5: 201502   0
 6: 201502   0
 7: 201502   0
 8: 201503   0
 9: 201503   0
10: 201503   1
11: 201503   1
12: 201503   0
13: 201504   1
14: 201504   0
15: 201504   1
16: 201504   0
Run Code Online (Sandbox Code Playgroud)

我希望VAR通过MNTH使用data.table进行计数和求和.期望的结果:

    MNTH COUNT VAR …
Run Code Online (Sandbox Code Playgroud)

aggregate r dataframe data.table

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

人口金字塔图与ggplot2和dplyr(而不是plyr)

我试图从ggplot2中的后简化人口金字塔中重现简单的人口金字塔

使用ggplot2dplyr(而不是plyr).

这是原始示例plyr和种子

set.seed(321)
test <- data.frame(v=sample(1:20,1000,replace=T), g=c('M','F'))

require(ggplot2)
require(plyr)    
ggplot(data=test,aes(x=as.factor(v),fill=g)) + 
  geom_bar(subset=.(g=="F")) + 
  geom_bar(subset=.(g=="M"),aes(y=..count..*(-1))) + 
  scale_y_continuous(breaks=seq(-40,40,10),labels=abs(seq(-40,40,10))) + 
  coord_flip()
Run Code Online (Sandbox Code Playgroud)

与ggplot2和plyr的金字塔情节

工作良好.

但是我怎样才能生成相同的情节dplyr呢?该示例plyrsubset = .(g ==语句中使用.

我尝试过以下内容dplyr::filter但出现错误:

require(dplyr)
ggplot(data=test,aes(x=as.factor(v),fill=g)) + 
  geom_bar(dplyr::filter(test, g=="F")) + 
  geom_bar(dplyr::filter(test, g=="M"),aes(y=..count..*(-1))) + 
  scale_y_continuous(breaks=seq(-40,40,10),labels=abs(seq(-40,40,10))) + 
  coord_flip()

Error in get(x, envir = this, inherits = inh)(this, ...) : 
  Mapping should be a list of unevaluated mappings created by aes or aes_string
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 plyr dplyr

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

水平轴上的因子的散点图

我正在尝试使用x轴上的因子生成简单的散点图.结果图显示水平线而不是点(不幸的是无法上传图像).

根据我的教授的要求,根据Dobson,Bennett的" 广义线性模型简介"中的示例3.5,一些SAS代码转录为R. 目的是向R介绍我的同学,所以我尽量保持这个简单和干净.

dat <- data.frame(age_group = c("30-34", "35-39", "40-44", 
    "45-49", "50-54", "55-59", "60-64", "65-69"), 
                  deaths = c(1, 5, 5, 12, 25, 38, 54, 65), 
                  population = c(17742, 16554, 16059, 13083, 10784, 9645, 10706, 9933))
dat <- within(dat, {
              rate <- deaths / population * 100000
              lograte <- log(deaths / population * 100000)
              })
Run Code Online (Sandbox Code Playgroud)

而我的情节

with(dat, plot(age_group, lograte, pch=19))
Run Code Online (Sandbox Code Playgroud)

不会产生我想要的'点'.我有一个黑客攻击的解决方案,我稍后会发布,但想看看是否有更好的方法.再一次,道歉我无法上传图片.

plot r

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

在data.table中创建多个lead变量

这个问题类似于一次在data.table中创建一堆滞后变量以及如何在每个组中创建滞后变量?,但据我所知,并不完全相同.

我想创造一些领先的变量,例如lead1,lead2lead3下面,通过分组groups.

示例数据

require(data.table)
set.seed(1)
data <- data.table(time =c(1:10,1:8),groups = c(rep(c("a","b"),c(10,8))), 
   value = rnorm(18))
data
    time groups       value
 1:    1      a -0.62645381
 2:    2      a  0.18364332
 3:    3      a -0.83562861
 4:    4      a  1.59528080
 5:    5      a  0.32950777
 6:    6      a -0.82046838
 7:    7      a  0.48742905
 8:    8      a  0.73832471
 9:    9      a  0.57578135
10:   10      a -0.30538839
11:    1      b  1.51178117
12:    2      b  0.38984324
13:    3 …
Run Code Online (Sandbox Code Playgroud)

r data.table

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

标签 统计

r ×4

data.table ×2

dataframe ×2

plot ×2

aggregate ×1

concat ×1

dplyr ×1

ggplot2 ×1

pandas ×1

plyr ×1

python ×1