Questions tagged «dataframe»

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

20
使用索引为pandas DataFrame中的特定单元格设置值
我创建了一个Pandas DataFrame df = DataFrame(index=['A','B','C'], columns=['x','y']) 并得到这个 y NaN NaN B NaN NaN Na 然后,我想为特定的单元格赋值,例如行“ C”和列“ x”。我期望得到这样的结果: y NaN NaN B NaN NaN C 10 NaN 使用此代码: df.xs('C')['x'] = 10 但内容df没有改变。再次仅NaN在DataFrame中。 有什么建议么?
477 python  pandas  dataframe 


15
将pandas数据框转换为NumPy数组
我对知道如何将熊猫数据框转换为NumPy数组感兴趣。 数据框: import numpy as np import pandas as pd index = [1, 2, 3, 4, 5, 6, 7] a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1] b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan] c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan] df = pd.DataFrame({'A': a, …

5
创建一个空的Pandas DataFrame,然后填充它?
我从这里的pandas DataFrame文档开始:http ://pandas.pydata.org/pandas-docs/stable/dsintro.html 我想用时间序列类型的计算中的值迭代地填充DataFrame。所以基本上,我想用列A,B和时间戳记行(全为0或全部为NaN)初始化DataFrame。 然后,我将添加初始值,然后遍历此数据,计算出大约某行之前的新行row[A][t] = row[A][t-1]+1。 我目前正在使用下面的代码,但是我觉得这很丑陋,必须有一种直接使用DataFrame进行此操作的方法,或者通常来说是一种更好的方法。注意:我正在使用Python 2.7。 import datetime as dt import pandas as pd import scipy as s if __name__ == '__main__': base = dt.datetime.today().date() dates = [ base - dt.timedelta(days=x) for x in range(0,10) ] dates.sort() valdict = {} symbols = ['A','B', 'C'] for symb in …
461 python  dataframe  pandas 

24
如何计算pandas DataFrame列中的NaN值
我有数据,我想在其中找到数量NaN,以便如果它小于某个阈值,我将删除此列。我看了一下,但是找不到任何功能。有value_counts,但对我来说会很慢,因为大多数值是不同的,并且我只想计数NaN。
459 python  pandas  dataframe 

12
如何在熊猫数据框的列中将所有NaN值替换为零
我有一个数据框如下 itm Date Amount 67 420 2012-09-30 00:00:00 65211 68 421 2012-09-09 00:00:00 29424 69 421 2012-09-16 00:00:00 29877 70 421 2012-09-23 00:00:00 30990 71 421 2012-09-30 00:00:00 61303 72 485 2012-09-09 00:00:00 71781 73 485 2012-09-16 00:00:00 NaN 74 485 2012-09-23 00:00:00 11072 75 485 2012-09-30 00:00:00 113702 76 …
457 python  pandas  dataframe 


11
从熊猫DataFrame中按部分字符串选择
我有一个DataFrame4列,其中2个包含字符串值。我想知道是否有一种方法可以根据针对特定列的部分字符串匹配来选择行? 换句话说,一个函数或lambda函数将执行以下操作 re.search(pattern, cell_in_question) 返回一个布尔值。我熟悉的语法,df[df['A'] == "hello world"]但似乎找不到用部分字符串匹配说的方法'hello'。 有人可以指出正确的方向吗?

7
使用pandas GroupBy获取每个组的统计信息(例如计数,均值等)?
我有一个数据框,df并且从中使用了几列groupby: df['col1','col2','col3','col4'].groupby(['col1','col2']).mean() 通过以上方法,我几乎得到了所需的表(数据框)。缺少的是另外一列,其中包含每个组中的行数。换句话说,我有意思,但我也想知道有多少个数字被用来获得这些价值。例如,在第一组中有8个值,在第二组中有10个值,依此类推。 简而言之:如何获取数据框的分组统计信息?

9
随机播放DataFrame行
我有以下DataFrame: Col1 Col2 Col3 Type 0 1 2 3 1 1 4 5 6 1 ... 20 7 8 9 2 21 10 11 12 2 ... 45 13 14 15 3 46 16 17 18 3 ... 从csv文件读取DataFrame。所有具有Type1的行都在最上面,然后是具有Type2 的行,然后是具有Type3 的行,依此类推。 我想重新整理DataFrame行的顺序,以便将所有行Type混合在一起。可能的结果可能是: Col1 Col2 Col3 Type 0 7 8 9 …

7
如何像在SQL中一样使用'in'和'not in'过滤Pandas数据帧
我怎样才能达到SQL IN和的等效NOT IN? 我有一个包含所需值的列表。这是场景: df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = ['UK','China'] # pseudo-code: df[df['countries'] not in countries] 我目前的做法如下: df = pd.DataFrame({'countries':['US','UK','Germany','China']}) countries = pd.DataFrame({'countries':['UK','China'], 'matched':True}) # IN df.merge(countries,how='inner',on='countries') # NOT IN not_in = df.merge(countries,how='left',on='countries') not_in = not_in[pd.isnull(not_in['matched'])] 但这似乎是一个可怕的冲突。有人可以改进吗?

17
使用Python在Pandas中读取CSV文件时出现UnicodeDecodeError
我正在运行一个程序,正在处理30,000个类似文件。他们中有随机数正在停止并产生此错误... File "C:\Importer\src\dfman\importer.py", line 26, in import_chr data = pd.read_csv(filepath, names=fields) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f return _read(filepath_or_buffer, kwds) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read return parser.read() File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read ret = self._engine.read(nrows) File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read data = self._reader.read(nrows) File "parser.pyx", line 706, …

15
将多个csv文件导入到pandas中并串联到一个DataFrame中
我想将目录中的多个csv文件读入pandas,并将它们连接成一个大的DataFrame。我还无法弄清楚。这是我到目前为止的内容: import glob import pandas as pd # get data file names path =r'C:\DRO\DCL_rawdata_files' filenames = glob.glob(path + "/*.csv") dfs = [] for filename in filenames: dfs.append(pd.read_csv(filename)) # Concatenate all data into one DataFrame big_frame = pd.concat(dfs, ignore_index=True) 我想我在for循环中需要一些帮助吗???

16
更改数据框的列名
我有一个名为“ newprice”的数据框(请参见下文),我想在R中的程序中更改列名。 > newprice Chang. Chang. Chang. 1 100 36 136 2 120 -33 87 3 150 14 164 实际上,这是在做什么: names(newprice)[1]<-paste("premium") names(newprice)[2]<-paste("change") names(newprice)[3]<-paste("newprice") 我没有将其循环,因为您希望每个列名都不同。 当我将程序粘贴到R控制台时,这是给我的输出: > names(newprice)[1]<-paste(“premium”) Error: unexpected input in "names(newprice)[1]<-paste(“" > names(newprice)[2]<-paste(“change”) Error: unexpected input in "names(newprice)[2]<-paste(“" > names(newprice)[3]<-paste(“newpremium”) Error: unexpected input in "names(newprice)[3]<-paste(“" 我同样尝试使用c()功能-例如c("premium"),而不是paste()功能,但无济于事。 有人可以帮我解决这个问题吗?
399 r  dataframe  rename 

6
通过整数索引选择一行熊猫系列/数据框
我很好奇,为什么df[2]不支持,而df.ix[2]与df[2:3]这两个工作。 In [26]: df.ix[2] Out[26]: A 1.027680 B 1.514210 C -1.466963 D -0.162339 Name: 2000-01-03 00:00:00 In [27]: df[2:3] Out[27]: A B C D 2000-01-03 1.02768 1.51421 -1.466963 -0.162339 我希望df[2]以df[2:3]与Python索引约定一致的方式进行工作。是否有设计原因不支持按单个整数索引行?

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.