Questions tagged «pandas»

Pandas是用于数据处理和分析的Python库,例如,在统计,实验科学结果,计量经济学或金融学中常见的数据框,多维时间序列和横截面数据集。Pandas是Python中主要的数据科学库之一。

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, …

6
如何避免Python / Pandas在保存的csv中创建索引?
对文件进行一些编辑后,我试图将csv保存到文件夹。 每次我使用pd.to_csv('C:/Path of file.csv')csv文件时,都有单独的索引列。我想避免将索引打印到csv。 我试过了: pd.read_csv('C:/Path to file to edit.csv', index_col = False) 并保存文件... pd.to_csv('C:/Path to save edited file.csv', index_col = False) 但是,我仍然得到不需要的索引列。保存文件时如何避免这种情况?
407 python  csv  indexing  pandas 

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循环中需要一些帮助吗???

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索引约定一致的方式进行工作。是否有设计原因不支持按单个整数索引行?

15
从变量中的值构造pandas DataFrame会得到“ ValueError:如果使用所有标量值,则必须传递索引”
这可能是一个简单的问题,但是我不知道该怎么做。可以说我有两个变量,如下所示。 a = 2 b = 3 我想从中构造一个DataFrame: df2 = pd.DataFrame({'A':a,'B':b}) 这会产生一个错误: ValueError:如果使用所有标量值,则必须传递索引 我也尝试过这个: df2 = (pd.DataFrame({'a':a,'b':b})).reset_index() 这给出了相同的错误消息。

12
如何将函数应用于Pandas数据框的两列
假设我有一个df包含的列'ID', 'col_1', 'col_2'。我定义一个函数: f = lambda x, y : my_function_expression。 现在,我要应用f到df的两列'col_1', 'col_2',以逐元素的计算新列'col_3',有点像: df['col_3'] = df[['col_1','col_2']].apply(f) # Pandas gives : TypeError: ('<lambda>() takes exactly 2 arguments (1 given)' 怎么做 ? ** 如下添加详细样本 *** import pandas as pd df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]}) mylist = ['a','b','c','d','e','f'] def get_sublist(sta,end): return mylist[sta:end+1] #df['col_3'] …
368 python  pandas  dataframe 

6
系列的真值含糊不清。使用a.empty,a.bool(),a.item(),a.any()或a.all()
在用or条件过滤我的结果数据框时出现问题。我希望我的结果df提取var大于0.25且小于-0.25的所有列值。 下面的逻辑为我提供了一个模糊的真实值,但是当我将此过滤分为两个独立的操作时,它可以工作。这是怎么回事 不知道在哪里使用建议a.empty(), a.bool(), a.item(),a.any() or a.all()。 result = result[(result['var']>0.25) or (result['var']<-0.25)]

2
熊猫合并101
如何执行与熊猫(LEFT| RIGHT| FULL)(INNER| OUTER)的联接? 合并后如何为缺失的行添加NaN? 合并后如何去除NaN? 我可以合并索引吗? 与大熊猫交叉交往? 如何合并多个DataFrame? merge?join?concat?update?WHO?什么?为什么?! ... 和更多。我已经看到这些重复出现的问题,询问有关熊猫合并功能的各个方面。如今,有关合并及其各种用例的大多数信息都分散在数十个措辞不好,无法搜索的帖子中。这里的目的是整理后代的一些更重要的观点。 本QnA是下一章有关大熊猫习语的有用的用户指南中的下一部分(请参阅有关透视的这篇文章和有关串联的这篇文章,我将在以后进行探讨)。 请注意,本文并非旨在代替文档,因此也请阅读!一些示例是从那里获取的。
362 python  pandas  join  merge 

2
如何旋转数据框
什么是支点? 我如何枢纽? 这是支点吗? 长格式到宽格式? 我已经看到很多有关数据透视表的问题。即使他们不知道他们在询问数据透视表,通常也是如此。几乎不可能写出涵盖枢纽各个方面的规范问答。 ...但是我要去尝试一下。 现有问题和答案的问题在于,问题通常集中在OP难以推广的细微差别上,以便使用许多现有的良好答案。但是,没有一个答案试图给出全面的解释(因为这是一项艰巨的任务) 从我的Google搜索中查找一些示例 如何在Pandas中透视数据框? 好问题和答案。但是答案只回答了很少的具体问题。 熊猫数据透视表到数据框 在此问题中,OP与枢轴的输出有关。即列的外观。OP希望它看起来像R。这对熊猫用户不是很有帮助。 旋转数据框的熊猫,重复的行 另一个不错的问题,但答案集中在一种方法上,即 pd.DataFrame.pivot 因此,每当有人搜索时,pivot他们都会得到零星的结果,这些结果可能不会回答他们的特定问题。 设定 您可能会注意到,我显眼地命名了我的列和相关的列值,以与我将在下面的答案中介绍的方式相对应。 import numpy as np import pandas as pd from numpy.core.defchararray import add np.random.seed([3,1415]) n = 20 cols = np.array(['key', 'row', 'item', 'col']) arr1 = (np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str) …

11
如何从数据框的单元格获取值?
我构造了一个条件,可以从我的数据帧中准确提取一行: d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)] 现在,我想从特定列中获取一个值: val = d2['col_name'] 但是结果是我得到一个包含一行一列(即一个单元格)的数据帧。这不是我所需要的。我需要一个值(一个浮点数)。我该如何在熊猫中做到这一点?
343 python  pandas  dataframe 

30
Python Pandas错误标记数据
我正在尝试使用熊猫来操作.csv文件,但出现此错误: pandas.parser.CParserError:标记数据时出错。C错误:第3行中应有2个字段,看到了12 我试图阅读熊猫文档,但一无所获。 我的代码很简单: path = 'GOOG Key Ratios.csv' #print(open(path).read()) data = pd.read_csv(path) 我该如何解决?我应该使用csv模块还是其他语言? 文件来自Morningstar
340 python  csv  pandas 

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.