Questions tagged «dataframe»

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

13
如何删除在特定列中的值为NaN的Pandas DataFrame行
我有这个DataFrame,只想要EPS列不是的记录NaN: >>> df STK_ID EPS cash STK_ID RPT_Date 601166 20111231 601166 NaN NaN 600036 20111231 600036 NaN 12 600016 20111231 600016 4.3 NaN 601009 20111231 601009 NaN NaN 601939 20111231 601939 2.5 NaN 000001 20111231 000001 NaN NaN ...例如df.drop(....)要得到这个结果的数据框: STK_ID EPS cash STK_ID RPT_Date 600016 20111231 600016 4.3 NaN 601939 …
749 python  pandas  dataframe  nan 


7
将pandas DataFrame写入CSV文件
我在熊猫中有一个数据框,我想将其写入CSV文件。我正在使用以下方法: df.to_csv('out.csv') 并得到错误: UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128) 有什么方法可以轻松解决此问题(即我的数据框中有Unicode字符)吗?是否有一种方法可以使用例如“ to-tab”方法(我认为不存在)写入制表符分隔的文件而不是CSV?
713 python  csv  pandas  dataframe 

8
将字典列表转换为Pandas DataFrame
我有这样的词典列表: [{'points': 50, 'time': '5:00', 'year': 2010}, {'points': 25, 'time': '6:00', 'month': "february"}, {'points':90, 'time': '9:00', 'month': 'january'}, {'points_h1':20, 'month': 'june'}] 我想把它变成这样的大熊猫DataFrame: month points points_h1 time year 0 NaN 50 NaN 5:00 2010 1 february 25 NaN 6:00 NaN 2 january 90 NaN 9:00 NaN 3 june NaN 20 NaN …

10
漂亮地打印整个Pandas系列/ DataFrame
我在终端上经常使用Series和DataFrames。__repr__系列的默认值返回精简的样本,具有一些头和尾值,但其余部分丢失。 有没有一种内置方法可以漂亮地打印整个Series / DataFrame?理想情况下,它将支持适当的对齐方式,可能支持列之间的边界,甚至可能对不同列进行颜色编码。
650 python  pandas  dataframe 

3
iloc,ix和loc有何不同?
有人可以解释这三种切片方法有何不同吗? 我看过文档,也看过这些 答案,但仍然发现自己无法解释这三者之间的区别。在我看来,它们在很大程度上似乎是可互换的,因为它们处于切片的较低级别。 例如,假设我们要获取的前五行DataFrame。这三者如何运作? df.loc[:5] df.ix[:5] df.iloc[:5] 有人可以提出三种用法之间的区别更清楚的情况吗?

15
如何处理熊猫中的SettingWithCopyWarning?
背景 我刚刚将熊猫从0.11升级到0.13.0rc1。现在,该应用程序弹出了许多新警告。其中之一是这样的: E:\FinReporter\FM_EXT.py:449: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_index,col_indexer] = value instead quote_df['TVol'] = quote_df['TVol']/TVOL_SCALE 我想知道到底是什么意思?我需要改变什么吗? 如果我坚持使用该如何警告quote_df['TVol'] = quote_df['TVol']/TVOL_SCALE? 产生错误的功能 def _decode_stock_quote(list_of_150_stk_str): """decode the webpage and return dataframe""" from cStringIO import StringIO str_of_all = "".join(list_of_150_stk_str) quote_df …

14
子集数据帧中的丢包因子级别
我有一个包含的数据框factor。当我使用subset或其他索引功能创建此数据框的子集时,将创建一个新的数据框。但是,factor即使/如果新数据帧中不存在变量,该变量将保留其所有原始级别。 在进行刻面绘图或使用依赖于因子水平的函数时,这会引起问题。 从新数据框中的因素中删除级别的最简洁方法是什么? 这是一个例子: df <- data.frame(letters=letters[1:5], numbers=seq(1:5)) levels(df$letters) ## [1] "a" "b" "c" "d" "e" subdf <- subset(df, numbers <= 3) ## letters numbers ## 1 a 1 ## 2 b 2 ## 3 c 3 # all levels are still there! levels(subdf$letters) ## [1] "a" "b" "c" "d" …
543 r  dataframe  r-factor  r-faq 


20
将列表转换为数据框
我有一个嵌套的数据列表。它的长度是132,每个项目都是一个长度为20的列表。是否有一种快速的方法将该结构转换为具有132行和20列数据的数据帧? 以下是一些示例数据: l <- replicate( 132, list(sample(letters, 20)), simplify = FALSE )
513 r  list  dataframe 

11
快速读取非常大的表作为数据框
我有非常大的表(3000万行),我想将其作为R中的数据帧加载。 read.table()它具有许多便利的功能,但是似乎实现中有很多逻辑会使事情变慢。就我而言,我假设我提前知道了列的类型,该表不包含任何列标题或行名,并且没有任何我要担心的病理字符。 我知道使用列表读取表scan()可能很快,例如: datalist <- scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0))) 但是我将其转换为数据帧的一些尝试似乎使上述性能降低了6倍: df <- as.data.frame(scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0)))) 有更好的方法吗?还是完全不同的解决方法?
502 r  import  dataframe  r-faq 

9
将Pandas GroupBy输出从Series转换为DataFrame
我从这样的输入数据开始 df1 = pandas.DataFrame( { "Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] , "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } ) 打印时显示为: City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Seattle Mallory 4 Seattle Bob 5 Portland Mallory 分组非常简单: g1 = df1.groupby( …



16
创建一个空的data.frame
我正在尝试初始化没有任何行的data.frame。基本上,我想为每一列指定数据类型并为其命名,但因此没有创建任何行。 到目前为止,我能做的最好的事情是: df <- data.frame(Date=as.Date("01/01/2000", format="%m/%d/%Y"), File="", User="", stringsAsFactors=FALSE) df <- df[-1,] 这将创建一个data.frame,其中包含包含我想要的所有数据类型和列名的单行,而且还会创建一个无用的行,然后将其删除。 有一个更好的方法吗?
480 r  dataframe  r-faq 

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.