|
d*******1 发帖数: 854 | 2 比如
FOR (I=1: 20), 每一个循环都要产生一个DATAFRAME 如 TEST1, TEST2, TEST3......,
也就是说把循环数作为DATAFRAME名字的后缀, 怎么弄呢? 谢了 |
|
Z**0 发帖数: 1119 | 3 Dataframe is immutable. Creating a new Dataframe from the old one using map
function. |
|
|
b*******d 发帖数: 353 | 5 我猜你这里的df是指dataframe?
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Da
里面的kind有
kind : str
‘line’ : line plot (default)
‘bar’ : vertical bar plot
‘barh’ : horizontal bar plot
‘hist’ : histogram
‘box’ : boxplot
‘kde’ : Kernel Density Estimation plot
‘density’ : same as ‘kde’
‘area’ : area plot
‘pie’ : pie plot
‘scatter’ : scatter plot
‘hexbin’ : hexbin plot |
|
g*****9 发帖数: 349 | 6 请教一下为什么有了SQL以后现在还有R和Python的dataframe呢?如果计算需要在内存
里完成,主要优点在哪里啊? |
|
发帖数: 1 | 7 dataframe适合码农写OOP风格的代码,SQL适合商学院高富帅分析数据成为人生赢家 |
|
b****u 发帖数: 1130 | 8 SQL是基础。俺公司的DS把上百G的数据download下来用dataframe一块块搞,我都懵了。
然后我写了一个稍微复杂一点的SQL,10分钟搞定。 |
|
g*****9 发帖数: 349 | 9 请教一下为什么有了SQL以后现在还有R和Python的dataframe呢?如果计算需要在内存
里完成,主要优点在哪里啊? |
|
发帖数: 1 | 10 dataframe适合码农写OOP风格的代码,SQL适合商学院高富帅分析数据成为人生赢家 |
|
b****u 发帖数: 1130 | 11 SQL是基础。俺公司的DS把上百G的数据download下来用dataframe一块块搞,我都懵了。
然后我写了一个稍微复杂一点的SQL,10分钟搞定。 |
|
m*****n 发帖数: 3575 | 12 用来运算数据用DataFrame
存储数据和简单财务运算用数据库
没听说哪个数据库主要工作是数学计算的 |
|
b****u 发帖数: 1130 | 13 其实也还不错,dataframe比python做的更人性话,各种包也比较多。
我也经常搞一搞。
最大的问题是程序不能写大了,代码很难看,很维护。特别是我用shiny r,估计没人
能接手我的代码。 |
|
c*******o 发帖数: 8869 | 14 大家好, 一个R问题, 我有这样两列数字:
MEAN STD
1 0.5
3 1
5 4
我想产生如下的一个新的数列
MEAN STD RANDOM
1 0.5 2
3 1 2
5 4 10
基本上就是用每一行的MEAN STD 去产生一个随即数, 并把它放入DATAFRAME. 如果用
LOOP的话, 会是下面的CODE:
for (i in c(1: dim(data)[1])){
random=rnorm(1,data[i,1], data[i,2])
}
但是这样纯粹靠LOOP的话, 要是几万行DATA就太慢了, 用APPLY什么的怎么做呢? |
|
l*********s 发帖数: 5409 | 15 1. name these dataframes within a list "environment"
2. use assign function |
|
g*r 发帖数: 67 | 16 R的merge效率太低了。根据一个列合并两个dataframe,长的有1m行,短的1k行:
long =data.frame(a=seq(1,1000000), b=rnorm(10) )
short=data.frame(a=seq(1,2000, 2), c=rnorm(10) )
system.time(merge(x=long, y=short, all.x=T))
user system elapsed
10.286 0.370 10.624
4m行就要将近1分钟。8m行超过2分钟。16m要4分钟。
我的真实数据比例子里的复杂些,且有100m行或更高,卡了半天没动静,只好强行终止
进程。对这个效率有点失望。早听说merge很慢,这次领教了。
如果不依靠外部程序(shell,python之类的script),大家是怎么多快好省做合并的
呢?菜鸟一个,轻拍。 |
|
w**2 发帖数: 147 | 17 请教各位,不知道spark dataframe有没有类似pandas df的方法去修改columns name。
比如pandas: df.columns=["a","b"....]
多谢了。 |
|
|
r********n 发帖数: 7 | 19 楼主会这么说应该对两个项目本身和项目背后的团队都不是很了解吧。Spark并不是一
个in-memory Hadoop。关于这个,可以参见我Quora的回答: https://www.quora.com/
How-does-Apache-Spark-work/answer/Reynold-Xin
Flink以前名字叫做Stratosphere,其实和Spark一样也有五年的历史了,但是一直不温
不火的。成熟度比Spark差了很远,参与Flink社区的人不到Spark的五分之一。
个人意见:Flink之所以不温不火的一个原因就是用了太多数据库的传统设计,反而忽略
了这些设计对实际应用的阻碍。很多这些设计在SQL query上是很有价值的,但是对于
general program却可能得不偿失。
比如说Flink一直比较崇尚从头到尾的declarative,希望你把整个程序从头到尾的都用
他的框架来写。比如一个简单的while/for loop,本来编程语言里面已经有内置的loop
了,但是他却强迫用户利用他框架内置的loop的API。这样子的下场是程序员如果要用
这个框架,反而需要去学习更... 阅读全帖 |
|
n*****3 发帖数: 1584 | 20 你说的对, 这不是大数据。
因为在modeling training stage, 用 R 跑prototype system,
R itself 不 方便 并行。 下一阶段 会上 spark/hadoop。
继续 抛砖引玉一下。 下面的 CPP file 跑得还行。 用 sourceRCPP call
就可。 看看有什么可以改进的,
再次 谢谢大家 all
#include
using namespace Rcpp;
using namespace std;
// Below is a the balancing C++ function to R. You can
// source this function into an R session using the Rcpp::sourceCpp
// function (or via the Source button on the editor toolbar)
// For more on using Rcpp click the Help button on the editor toolbar
// [... 阅读全帖 |
|
E**********e 发帖数: 1736 | 21 pyhton 是有开源的。
不过,要是是么都拿开源的, 自己怎么会提高? 是不是。 自己通过这个项目,很好
的明白了xml的数据结构,同时加深理解了python dictionary的数据结构。再加上
mongodb,json 数据结构。好像hive也就类似的数据结构。
而且pytyon dataframe 太赞了。 即使有的key missing, 但是最终dataframe 可以让
他们现行。很容易debug。
而且我这个比开源的要快。这是关键。 我现在能够熟练的操作xml, mongodb, sql。
这些是金融行业比较流行的数据结构。 我向data scientist 迈进了一小步。 |
|
l*******m 发帖数: 1096 | 22 我给你写一个吧
scala> val tableA = sc.parallelize(List((1, 5), (2, 3), (2, 1))).toDF("id", "
value")
tableA: org.apache.spark.sql.DataFrame = [id: int, value: int]
scala> tableA.show()
+--+-----+
|id|value|
+--+-----+
| 1| 5|
| 2| 3|
| 2| 1|
+--+-----+
scala> val tableB = sc.parallelize(List((1, "A"), (2, "B"))).toDF("id", "
name")
tableB: org.apache.spark.sql.DataFrame = [id: int, name: string]
scala> tableB.show
+--+----+
|id|name|
+--+----+
| 1| A|
| 2| B|
+--+----+
scala> tableA.join(t... 阅读全帖 |
|
b****u 发帖数: 1130 | 23 最近给公司搞了一个,俺就用local mode,这样hadoop都不用装,解决问题最重要。最
主要的是用dataframe和一些machine learning 的包。说实话spark做的也就那回事。
python里的dataframe要好用太多了。装一个cluster,挺炫的,但很多精力要放在
infrastructure上。 |
|
s**********y 发帖数: 38 | 24 Classification Tree example
Let's use the dataframe kyphosis to predict a type of deformation (kyphosis)
after surgery, from age in months (Age), number of vertebrae involved (
Number), and the highest vertebrae operated on (Start). # Classification
Tree with rpart
library(rpart)
# grow tree
fit <- rpart(Kyphosis ~ Age + Number + Start,
method="class", data=kyphosis)
上面是我从http://www.statmethods.net/advstats/cart.html摘录的code.How to get dataframe from R? 下面是我的程序,但没有任何结果出来, R 也没有ERROR
A=read.del... 阅读全帖 |
|
y********0 发帖数: 638 | 25 【 以下文字转载自 DataSciences 讨论区 】
发信人: youyou2010 (悠悠), 信区: DataSciences
标 题: Memory Error in pd.concat with Python
发信站: BBS 未名空间站 (Mon Aug 24 15:22:34 2015, 美东)
I am more recently working with 80 dataframes in python each of which holds
650K rows with the same 11 columns varying from string to number. My initial
goal is to concatenate all dataframes and make a general analysis but I keep
hitting the dead ends in doing so.
1. I started from pd.concat([df1,df2]) but ended up with memory error and
fai... 阅读全帖 |
|
E**********e 发帖数: 1736 | 26 各种软件,只要自己用的喜欢就行,非要比较优劣,大家个有一套说辞。sas现在主要
垄断了制药行业,原因是fda指定看sas的分析结果。如果那天fda说可以用R/PYTHON了
,SAS立马得死。至于好不好用,你用习惯了,就好用。要说一个月你能会SAS,写出好
看的代码,我是不信的。然而R/PYTHON,或者别的编程语言,可以灵活的实现你想要的
功能。而且现在得意于网络,网络资源多的不得了,各种语言得提供PACKAGES,你调用
就行,其实跟SAS就一样。sas只用来实现模块话的处理,复杂点的就麻烦大了,当然你
说可以用宏,你编过宏就知道它有多麻烦,太复杂。
你要是想学R,就老老实实静下心学习。首先得学习基本语法,这个基本上各个语言都
接近,无非是LOOP,数据类型和结果构,R里的dataframe还是比较好的,PYTHON的数据
处理也很好。另外,两种语言都提供SQL包,调用后可以直接实现SQL查询和操作。
我本人也是从SAS开始,说实话,挺不喜欢的,后来学习R,其实都是被逼的,你得会公
司需要的,自己的喜好先放一边。但是现在就喜欢PYTHON了,比R好用的多。同是还在
学JAVA,一个... 阅读全帖 |
|
E**********e 发帖数: 1736 | 27 各种软件,只要自己用的喜欢就行,非要比较优劣,大家个有一套说辞。sas现在主要
垄断了制药行业,原因是fda指定看sas的分析结果。如果那天fda说可以用R/PYTHON了
,SAS立马得死。至于好不好用,你用习惯了,就好用。要说一个月你能会SAS,写出好
看的代码,我是不信的。然而R/PYTHON,或者别的编程语言,可以灵活的实现你想要的
功能。而且现在得意于网络,网络资源多的不得了,各种语言得提供PACKAGES,你调用
就行,其实跟SAS就一样。sas只用来实现模块话的处理,复杂点的就麻烦大了,当然你
说可以用宏,你编过宏就知道它有多麻烦,太复杂。
你要是想学R,就老老实实静下心学习。首先得学习基本语法,这个基本上各个语言都
接近,无非是LOOP,数据类型和结果构,R里的dataframe还是比较好的,PYTHON的数据
处理也很好。另外,两种语言都提供SQL包,调用后可以直接实现SQL查询和操作。
我本人也是从SAS开始,说实话,挺不喜欢的,后来学习R,其实都是被逼的,你得会公
司需要的,自己的喜好先放一边。但是现在就喜欢PYTHON了,比R好用的多。同是还在
学JAVA,一个... 阅读全帖 |
|
|
y********0 发帖数: 638 | 29 I am more recently working with 80 dataframes in python each of which holds
650K rows with the same 11 columns varying from string to number. My initial
goal is to concatenate all dataframes and make a general analysis but I keep
hitting the dead ends in doing so.
1. I started from pd.concat([df1,df2]) but ended up with memory error and
failed to figure out a solution after searching over internet.
2.I then, checking on some online suggestions, converted the number into
float32 for the reduction... 阅读全帖 |
|
c*******a 发帖数: 1879 | 30 dict = {"country": ["Brazil", "Russia", "India", "China", "South Africa"],
"capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"],
"area": [8.516, 17.10, 3.286, 9.597, 1.221],
"population": [200.4, 143.5, 1252, 1357, 52.98] }
import pandas as pd
brics = pd.DataFrame(dict)
print(brics) |
|
s******c 发帖数: 1920 | 31 需要batch处理kv schema data多的很 甚至更常见啊
狗家有多少数据就直接dump到sstable里作为其他job的input 不过不知道这么用也情有
可原
hdfs世界里好歹parquet或者现在大红大紫的dataframe |
|
E**********e 发帖数: 1736 | 32 今天比较高兴, 网上搜了个比较简单的xml parser,比较efficient。 本来在real
xml file上测试了,比较满意。但是换到了experian 的xml files。 竟然有bug。 花
了一天的时间debug。最终搞定了。 总共就几个简单的functions, 用recursion。竟
然很好的解决的experina的问题。 说到这,不得不赞自己一下。 学习能力还是很厉害
的吗。IT组的一个资深软件工程师用C#编的parser,用了most brute force 的
algorithm,答应出来竟然要10多页纸。
另外,也要赞一下python。 发现用python处理 xml file,很有效。 xml转成
dictionary data structure, 然后到json,到dataframe,到mongoDB. 一下子全通了
。 |
|
d******a 发帖数: 32122 | 33 【 以下文字转载自 Programming 讨论区 】
发信人: minquan (三民主义), 信区: Programming
标 题: Re: 必须喷一下python
发信站: BBS 未名空间站 (Sun Aug 13 05:34:50 2017, 美东)
我并不承认这是自己的错误,因为我在一本教材上就看到了用""来搞。而且试验了也是
管用的,只是在函数名替换时出错。R的不规范性已经误导了编写教材的人,还不严重?
R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
名以数字开头,就会直接报错。R这种在某些情境下管用,但是在另一些情景但是同样
的意义就不管用的语法就叫不规范。(通用的是['']方法)
这就像英语的动词过去式,不能普遍加"ed"来表示,而有各种特例。R就是像英语一样
的,经验性的,充满各种特例的语言。这种语言你问任何一个学外语的专家,都会说是
不规范的,如英语就是最不规范的西方语言。
本贴的议题是Python是不是不规范,子议题是R有没有比Python更规范,而我们说的这
些例子已经充分证明了R的不规范。至于你给出了解决... 阅读全帖 |
|
b****u 发帖数: 1130 | 34 我最近也做了一个类似系统。其实取决于你们最后要用这些数据干什么,性能的要求(
是否要实时)。
很多情况下,需要一个datawarehouse,同时你需要建议个pipeline把数据拷备,同步
等。我用Scala和spark,因为spark有dataframe,处理转化数据非常方便。我们用
redshift做数据仓库,性能不错。
同时还需要一些visualization的软件, 如tableau,looker, etc。有了数据仓库,
做一些更高级的分析也会很方便,python,R,Scala,都不错。
特别说明一下,现在已有很多商业化的datapipeline,但同步数据一半都要数据源的
log文件来做CDC (capture data change).我们最后自己做pipeline,其实更放心。 |
|
b****u 发帖数: 1130 | 35 我们暂时还不用kafka,因为不要求做实时同步。其实就是一个简单的数据拷贝,没必
要那么麻烦。Spark 有一个很有用的东西dataframe,它可以从数据源读取表格然后直
接存到目标数据库中,数据源可以是一个文件,非常方便。
我的原则是越简单越好,能用已有的轮子最好。
不要对原始数据库的东西做任何改变,当然为了方便,也可以加几个view table。这个
好处是,以后原始数据库有一些大的变化,你只要调整重写viewtable 就可以了,
pipeline是不用变化的,有点像interface。
现在的关键是你要把数据放到什么地方。我们用redshift,它是column based,性能好
。 同时还是一个rational db, 和以前的系统兼容性好。 |
|
d**o 发帖数: 864 | 36 推荐用dataframe
sort函数指定多个column直接解决这个问题。 |
|
x******a 发帖数: 6336 | 37 我有一个MultiIndex的pandas DataFrame df
df.shape=(3000, 800)
1. %timeit df.groupby(level=['a','b']).aggregate(scipy.stats.nanmedian)
的结果是best of 3: 39.9 s per loop
2. %timeit df.groupby(level=['a', 'b']).median()
的结果是best of 3: 113 ms per loop
差了大概400倍。
我想要用一个自己定义的函数winsorized_mean.试了第一种,best of 3: 1 min 41s
per loop.请问可以怎么改进?
多谢! |
|
x******a 发帖数: 6336 | 38 Decon: Thanks for the answer, the problem is that there are a lot other
attributes besides the currency.
kinchungwong: thanks for your answer. I used to use pandas DataFrame
multiindex for this. However, the speed is slow. I will try boost multiindex. |
|
n*****3 发帖数: 1584 | 39 请教一下· CLOJURE DataManipulation/Data munging 好写吗? 我觉得 CLOJURE
没 dataframe 这东西啊。。。
我们组 要 用 CLOJURE 把 R 写 的 Data munging/FEATURE ENGINEERING code
重写, move everything to JVM |
|
h*i 发帖数: 3446 | 40 Clojure就是适合做lightweight数据处理,vectors, maps, 等等,很适合做data
munging/feature engineering.
如果你是要作numerical analysis,那还得go native and distributed.
类似R的,Clojure的incanter有dataframe。 |
|
m***r 发帖数: 359 | 41 http://haoweekly.memect.com/2015-02-22.html
收录了过去一周@好东西传送门 发的 55 条微博。其中最受欢迎的有
* BIDMach高性能机器学习库 (153)
* 比较全面的优化教材 (139)
* @李锦发 整理的《iOS 学习资料整理》 (79)
* 牛津大学的deep learning课 (77)
* wikibooks上的Haskell的电子书 (75)
* 人工智能的冬天将要到来? (72)
* 用于大规模数据科学的API——Spark DataFrame (52)
* 为什么我们要做研究? (40)
* 羊年最好的图说机器学习第一章来了 (32)
* HTTP 2定稿了 (32) |
|
l*****i 发帖数: 13 | 42 Spark的在2012年刚耳闻的时候,惊艳的地方在于内存计算和REPL,当时做machine
learning的同事在公司内部推广这个的时候,我们做engineer的就觉得没什么用,错过
了很多
之后稍微细读spark发现宣传的核心其实是设计核心的一方面的表现,通过Spark的数据
核心RDD的partition/compute/dependency实际可以很容易包装为独立的应用逻辑,比
如现在的graph和dataframe, 然后再去基于新的RDD引入新的优化和应用。并且实际
RDDlazy的特性使得转换不一定对应一个真正的task,所以声明和计算是分离的,扩展
空间很大。Spark的极限远不是楼主说的这个。
另外可能spark确实做不了楼主所说的“真正的streaming”(这个不确定,看12楼的
rxin这些founder和大committer了),但没有一个系统真正能把高性能,可靠和真正的
streaming做好。Storm在保证可靠和性能的时候也只能以batch来处理一个提交单位,
否则就要出现大量的commit或者不保证transactional.
也许google的Sp... 阅读全帖 |
|
w********m 发帖数: 1137 | 43 1.3之前pyspark很慢。
1.3之后有了dataFrame,python优化得比scala都快了。重要的是单机的pandas直接移
植。
所以建议无脑上python。 |
|
|
n******7 发帖数: 12463 | 45 断续用了9年的R了,一直不太喜欢
写点简单的东西还好,一旦复杂一点,就麻烦了
首先是debug很头疼
有很多没有documented的东西,需要往往搜来搜去
跑着跑着出错了,看看出错信息也往往不知所谓
R界一统江湖的IDE,Rstudio,直到最近才支持设置断点
之前发过一个帖子,有个分析数据的R脚本本来好好的
加了点功能,就会在有些sample上有问题,但是有些sample又是好的
后来发现,在中间的某一步,如果matrix变成了一行的,会自动转化成vector
纯坑爹
而且各种矢量化操作,比如apply家族,让debug更加困难
其次是performance太差,特别是不得不用loop的情况
基本上比python之类的还要慢一个数量级
数据稍微大点,你就可以先干别的去了
还有就是学习曲线很不友好
我起码算中位数智商吧,用了这么多年R,还是经常要上网搜解决方案
身边的人,除了统计专业的,可能还不如我
加上很多统计的东西在里面,光是一个character <-> factor
估计都困扰了很多初学者
这点最近几年可能好点,因为突然冒出来很多R的书,加上Rstudio的出现
很多R的包也... 阅读全帖 |
|
l*******m 发帖数: 1096 | 46 spark SQL dataframe. 把data frame cached |
|
w*s 发帖数: 7227 | 47 x = pd.DataReader("xom", "yahoo", start, end)['Low']
print x.idxmin()
怎么返回int ?
谢谢各位! |
|