Questions tagged «dataframe»

数据框是表格数据结构。通常,它包含数据,其中行是观察值,列是各种类型的变量。虽然“数据框”或“数据框”是几种语言用于此概念的术语(R,Apache Spark,deedle,Maple,Python中的pandas库和Julia中的DataFrames库),但“表”是MATLAB和SQL。

5
使用熊猫将字符串前缀添加到字符串列中的每个值
我想在熊猫数据帧的所述列中的每个值的开头附加一个字符串(优雅)。我已经弄清楚该如何做,目前正在使用: df.ix[(df['col'] != False), 'col'] = 'str'+df[(df['col'] != False), 'col'] 这似乎是一件微不足道的事情-您是否知道其他任何方式(可能还会将该字符添加到该列为0或NaN的行中)? 如果还不清楚,我想转一下: col 1 a 2 0 变成: col 1 stra 2 str0


6
将数据框的一行转换为矢量
我想从数据帧的一行中创建一个向量。但是我不需要行名和列名。我尝试了几件事...但是没有运气。 这是我的数据框: > df <- data.frame(a=c(1,2,4,2),b=c(2,6,2,1),c=c(2.6,8.2,7.5,3)) > df a b c 1 1 2 2.6 2 2 6 8.2 3 4 2 7.5 4 2 1 3.0 我试过了: > newV <- as.vector(df[1,]) > newV a b c 1 1 2 2.6 但是我真的想要这样的东西: > newV <- c( 1,2,2.6) > newV [1] …
116 r  vector  dataframe 


14
如何取消嵌套(爆炸)pandas DataFrame中的列?
我有以下DataFrame,其中列之一是对象(列表类型单元格): df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]}) df Out[458]: A B 0 1 [1, 2] 1 2 [1, 2] 我的预期输出是: A B 0 1 1 1 1 2 3 2 1 4 2 2 我应该怎么做才能做到这一点? 相关问题 熊猫:当单元格内容为列表时,为列表中的每个元素创建一行 好问题和答案,但只与列表处理一列(在我的答案自DEF功能将多个列的工作,也是公认的答案是使用最耗时的apply,不推荐,检查的详细信息我应该什么时候曾经想在我的代码中使用pandas apply()吗?)
116 python  pandas  dataframe 

7
在data.frame中添加一列
我有下面的data.frame。我想添加一列,按照第1列(h_no)对数据进行分类,以使h_no 1,2,3,4的第一个系列为1类,第二个系列h_no(1至7)为2 类,依此类推。如最后一栏所示。 h_no h_freq h_freqsq 1 0.09091 0.008264628 1 2 0.00000 0.000000000 1 3 0.04545 0.002065702 1 4 0.00000 0.000000000 1 1 0.13636 0.018594050 2 2 0.00000 0.000000000 2 3 0.00000 0.000000000 2 4 0.04545 0.002065702 2 5 0.31818 0.101238512 2 6 0.00000 0.000000000 2 7 0.50000 0.250000000 2 …
115 r  dataframe 

9
漂亮打印熊猫数据框
如何将pandas数据框打印为基于文本的漂亮表格,如下所示? +------------+---------+-------------+ | column_one | col_two | column_3 | +------------+---------+-------------+ | 0 | 0.0001 | ABCD | | 1 | 1e-005 | ABCD | | 2 | 1e-006 | long string | | 3 | 1e-007 | ABCD | +------------+---------+-------------+

6
从熊猫DataFrame制作热图
我有一个从Python的Pandas包生成的数据框。如何使用pandas包中的DataFrame生成热图。 import numpy as np from pandas import * Index= ['aaa','bbb','ccc','ddd','eee'] Cols = ['A', 'B', 'C','D'] df = DataFrame(abs(np.random.randn(5, 4)), index= Index, columns=Cols) >>> df A B C D aaa 2.431645 1.248688 0.267648 0.613826 bbb 0.809296 1.671020 1.564420 0.347662 ccc 1.501939 1.126518 0.702019 1.596048 ddd 0.137160 0.147368 1.504663 0.202822 eee …

11
在熊猫数据框中插入一行
我有一个数据框: s1 = pd.Series([5, 6, 7]) s2 = pd.Series([7, 8, 9]) df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"]) A B C 0 5 6 7 1 7 8 9 [2 rows x 3 columns] 并且我需要添加第一行[2、3、4]以获取: A B C 0 2 3 4 1 5 6 7 2 7 …


4
在熊猫数据框中将Unix时间转换为可读日期
我有一个带有unix时间和价格的数据框。我想转换索引列,以便以人类可读的日期显示它。 因此,例如,我在index列中有dateas 1349633705,但我希望它显示为10/07/2012(或至少10/07/2012 18:15)。 在某些情况下,这是我正在使用的代码以及我已经尝试过的代码: import json import urllib2 from datetime import datetime response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json') data = json.load(response) df = DataFrame(data['values']) df.columns = ["date","price"] #convert dates df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) df.index = df.date 如您所见,我在df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d"))这里使用的 是无效的,因为我使用的是整数而不是字符串。我认为我需要使用,datetime.date.fromtimestamp但我不确定如何将其应用于整个df.date。 谢谢。


5
选择R中data.frame的前4行
如何选择a的前4行data.frame: Weight Response 1 Control 59 0.0 2 Treatment 90 0.8 3 Treatment 47 0.1 4 Treamment 106 0.1 5 Control 85 0.7 6 Treatment 73 0.6 7 Control 61 0.2
109 r  dataframe 

4
转置数据帧
我需要转置一个大数据框,所以我使用了: df.aree <- t(df.aree) df.aree <- as.data.frame(df.aree) 这是我得到的: df.aree[c(1:5),c(1:5)] 10428 10760 12148 11865 name M231T3 M961T5 M960T6 M231T19 GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04 GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04 GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04 GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04 我的问题是我需要消除新的列名(10428、10760、12148、11865),因为我需要使用第一行作为列名。 我尝试使用col.names()功能,但没有得到所需的东西。 你有什么建议吗? 编辑 谢谢你的建议!!!使用它,我获得: df.aree[c(1:5),c(1:5)] M231T3 M961T5 M960T6 M231T19 GS04.A 5.847557e+03 …
107 r  dataframe 

5
获取总计熊猫列
目标 我有一个Pandas数据框,如下所示,具有多个列,并希望获取列的总数MyColumn。 数据框 -df: print df X MyColumn Y Z 0 A 84 13.0 69.0 1 B 76 77.0 127.0 2 C 28 69.0 16.0 3 D 28 28.0 31.0 4 E 19 20.0 85.0 5 F 84 193.0 70.0 我的尝试: 我试图使用groupby和获得列的总和.sum(): Total = df.groupby['MyColumn'].sum() print Total 这将导致以下错误: TypeError: 'instancemethod' …
107 python  pandas  dataframe  sum 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.