Questions tagged «dataframe»

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

5
如何通过密钥按数据组访问熊猫
如何通过密钥访问groupby对象中的相应groupby数据帧? 通过以下groupby: rand = np.random.RandomState(1) df = pd.DataFrame({'A': ['foo', 'bar'] * 3, 'B': rand.randn(6), 'C': rand.randint(0, 20, 6)}) gb = df.groupby(['A']) 我可以遍历它来获取密钥和组: In [11]: for k, gp in gb: print 'key=' + str(k) print gp key=bar A B C 1 bar -0.611756 18 3 bar -1.072969 10 5 bar -2.301539 …


7
熊猫:求和给定列的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 我想增加一列'e'是列的总和'a','b'和'd'。 在各个论坛上,我认为这样会起作用: df['e'] = df[['a','b','d']].map(sum) 但事实并非如此。 我想知道适当的操作与列的列表['a','b','d']和df作为输入。
153 python  pandas  dataframe  sum 



5
如何摆脱熊猫DataFrame中的“未命名:0”列?
我遇到一种情况,有时当我csv从中读取时,会df得到一个不需要的类似索引的列,名为unnamed:0。 file.csv ,A,B,C 0,1,2,3 1,4,5,6 2,7,8,9 CSV读取与此: pd.read_csv('file.csv') Unnamed: 0 A B C 0 0 1 2 3 1 1 4 5 6 2 2 7 8 9 这很烦人!有谁知道如何摆脱这一点?
152 python  pandas  csv  dataframe 

3
熊猫中布尔索引的逻辑运算符
我正在Pandas中使用布尔值索引。问题是为什么声明: a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)] 工作正常而 a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)] 退出错误? 例: a=pd.DataFrame({'x':[1,1],'y':[10,20]}) In: a[(a['x']==1)&(a['y']==10)] Out: x y 0 1 10 In: a[(a['x']==1) and (a['y']==10)] Out: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

8
熊猫可以自动识别日期吗?
今天,我感到惊讶的是,pandas在从数据文件中读取数据时能够识别值的类型: df = pandas.read_csv('test.dat', delimiter=r"\s+", names=['col1','col2','col3']) 例如,可以通过以下方式检查它: for i, r in df.iterrows(): print type(r['col1']), type(r['col2']), type(r['col3']) 特别是整数,浮点数和字符串可以正确识别。但是,我有一列的日期采用以下格式:2013-6-4。这些日期被识别为字符串(而不是python日期对象)。有没有一种方法可以“学习”熊猫到公认的日期?
151 python  date  types  dataframe  pandas 

3
熊猫仅使用列名创建空的DataFrame
我有一个动态的DataFrame,它工作正常,但是当没有数据要添加到DataFrame中时,出现错误。因此,我需要一个解决方案以仅使用列名创建一个空的DataFrame。 现在我有这样的事情: df = pd.DataFrame(columns=COLUMN_NAMES) # Note that there are now row data inserted. PS:重要的是,列名仍应出现在DataFrame中。 但是当我这样使用它时,我得到的结果是这样的: Index([], dtype='object') Empty DataFrame “空DataFrame”部分很好!但是,除了索引之外,我还需要显示列。 编辑: 我发现的一件重要事情:我正在使用Jinja2将此DataFrame转换为PDF,因此我在调出一种方法,首先将其输出为HTML,如下所示: df.to_html() 我认为这是专栏迷路的地方。 Edit2:通常,我遵循以下示例:http : //pbpython.com/pdf-reports.html。CSS也来自链接。这就是我将数据帧发送到PDF的过程: env = Environment(loader=FileSystemLoader('.')) template = env.get_template("pdf_report_template.html") template_vars = {"my_dataframe": df.to_html()} html_out = template.render(template_vars) HTML(string=html_out).write_pdf("my_pdf.pdf", stylesheets=["pdf_report_style.css"]) 编辑3: 如果在创建后立即打印出数据框,则会得到以下信息: [0 rows x 9 columns] …
151 python  pandas  dataframe 

10
在大数据表中替换NA的最快方法
我有一个很大的data.table,许多缺失值分散在整个〜200k行和200列中。我想将那些NA值尽可能有效地重新编码为零。 我看到两个选项: 1:转换为data.frame,并使用类似以下内容 2:某种很酷的data.table子设置命令 我将对类型1的高效解决方案感到满意,将其转换为data.frame然后再转换为data.table不会花费太长时间。

8
重复data.frame的每一行,在列中指定的次数
df <- data.frame(var1 = c('a', 'b', 'c'), var2 = c('d', 'e', 'f'), freq = 1:3) 扩展上方data.frame的前两列中的每一行的最简单方法是什么,以使每一行重复在“ freq”列中指定的次数? 换句话说,从此开始: df var1 var2 freq 1 a d 1 2 b e 2 3 c f 3 对此: df.expanded var1 var2 1 a d 2 b e 3 b e 4 c f …
150 r  dataframe  replicate 

12
在熊猫中用NaN替换空白值(空白)
我想在包含空格(任意数量)的Pandas数据框中找到所有值,并用NaN替换这些值。 有什么想法可以改善吗? 基本上我想把这个: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz 2000-01-05 -0.222552 4 2000-01-06 -1.176781 qux 变成这个: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz NaN 2000-01-05 -0.222552 NaN …
150 python  pandas  dataframe 


7
将行名称转换为第一列
我有一个像这样的数据框: df VALUE ABS_CALL DETECTION P-VALUE 1007_s_at "957.729231881542" "P" "0.00486279317241156" 1053_at "320.632701283368" "P" "0.0313356324173416" 117_at "429.842323161046" "P" "0.0170004527476119" 121_at "2395.7364289242" "P" "0.0114473584876183" 1255_g_at "116.493632746934" "A" "0.39799368200131" 1294_at "739.927122116896" "A" "0.0668649772942343" 我想将行名称转换为第一列。目前,我使用这样的方法将行名作为第一列: d <- df names <- rownames(d) rownames(d) <- NULL data <- cbind(names,d) 有没有一行可以做到这一点?
147 r  dataframe  col  rowname 

10
将“熊猫”列中的字典/列表拆分为单独的列
我将数据保存在postgreSQL数据库中。我正在使用Python2.7查询此数据并将其转换为Pandas DataFrame。但是,此数据框的最后一列中包含值的字典(或列表?)。DataFrame看起来像这样: [1] df Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"} 我需要将此列拆分为单独的列,以便DataFrame如下所示: [2] df2 Station ID a b c 8809 46 3 12 8810 36 5 8 …

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.