Questions tagged «pandas»

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

9
Python Pandas用顶部行替换标题
我目前有一个数据框,看起来像这样: Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 0 Sample Number Group Number Sample Name Group Name 1 1.0 1.0 s_1 g_1 2 2.0 1.0 s_2 g_1 3 3.0 1.0 s_3 g_1 4 4.0 2.0 s_4 g_2 我正在寻找一种删除标题行并使第一行成为新标题行的方法,因此新数据框将如下所示: Sample Number Group Number Sample Name Group Name 0 1.0 1.0 …
79 python  pandas  header  row 

7
尝试合并2个数据框但出现ValueError
这是我保存在两个变量中的两个数据框: > print(df.head()) > club_name tr_jan tr_dec year 0 ADO Den Haag 1368 1422 2010 1 ADO Den Haag 1455 1477 2011 2 ADO Den Haag 1461 1443 2012 3 ADO Den Haag 1437 1383 2013 4 ADO Den Haag 1386 1422 2014 > print(rankingdf.head()) > club_name ranking year 0 …

8
使用熊猫read_csv时出现内存错误
我正在尝试做相当简单的事情,将一个大的csv文件读入pandas数据框。 data = pandas.read_csv(filepath, header = 0, sep = DELIMITER,skiprows = 2) 代码要么以失败MemoryError,要么就永远无法完成。 任务管理器中的内存使用停止在506 Mb,并且在5分钟内没有更改并且在该过程中没有CPU活动之后,我将其停止。 我正在使用pandas版本0.11.0。 我知道文件解析器曾经存在内存问题,但是根据http://wesmckinney.com/blog/?p=543,该问题应该已得到解决。 我试图读取的文件是366 Mb,如果我将文件切成短片(25 Mb),则上面的代码将起作用。 还发生了一个弹出窗口,告诉我它无法写入地址0x1e0baf93 ... 堆栈跟踪: Traceback (most recent call last): File "F:\QA ALM\Python\new WIM data\new WIM data\new_WIM_data.py", line 25, in <module> wimdata = pandas.read_csv(filepath, header = 0, sep = DELIMITER,skiprows = 2 …
79 python  windows  pandas 

3
防止熊猫将'NA'解释为字符串中的NaN
熊猫的read_csv()方法将'NA'解释为nan(不是数字),而不是有效的字符串。 在下面的简单情况下,请注意,第1行第2列(基于零的计数)的输出为'nan'而不是'NA'。 sample.tsv(制表符分隔) PDB链SP_PRIMARY RES_BEG RES_END PDB_BEG PDB_EN​​D SP_BEG SP_END 5d8b N P60490 1146 1146 1146 5d8b NA P80377 1 126 1126 1126 5d8b O P60491 1 118 1 118 1 118 read_sample.py import pandas as pd df = pd.read_csv( 'sample.tsv', sep='\t', encoding='utf-8', ) for df_tuples in df.itertuples(index=True): print(df_tuples) 输出 …
79 python  pandas 

4
将计算出的列添加到熊猫数据框中
我有一个OHLC价格数据集,该数据集已从CSV解析为Pandas数据框,并重新采样为15分钟的柱形: <class 'pandas.core.frame.DataFrame'> DatetimeIndex: 500047 entries, 1998-05-04 04:45:00 to 2012-08-07 00:15:00 Freq: 15T Data columns: Close 363152 non-null values High 363152 non-null values Low 363152 non-null values Open 363152 non-null values dtypes: float64(4) 我想添加各种计算出的列,从简单的列开始,例如周期范围(HL),然后是布尔值以指示我将定义的价格模式的出现-例如锤形蜡烛模式,为其定义示例: def closed_in_top_half_of_range(h,l,c): return c > l + (h-l)/2 def lower_wick(o,l,c): return min(o,c)-l def real_body(o,c): return abs(c-o) …
78 python  pandas 

3
熊猫左外联接的结果表大于左表
根据我对左外部联接的了解,结果表的行数永远不应超过左表的行数......如果这是错误的话,请告诉我... 我的左表是192572行和8列。 我的右边表格是42160行和5列。 我的左表中有一个名为“ id”的字段,该字段与我的右表中一列称为“键”的字段相匹配。 因此,我将它们合并为: combined = pd.merge(a,b,how='left',left_on='id',right_on='key') 但是组合的形状是236569。 我有什么误会?
78 python  pandas 

5
使用matplotlib的savefig保存从python熊猫生成的图(AxesSubPlot)
我正在使用熊猫从数据框生成图,我想将其保存到文件中: dtf = pd.DataFrame.from_records(d,columns=h) fig = plt.figure() ax = dtf2.plot() ax = fig.add_subplot(ax) fig.savefig('~/Documents/output.png') 似乎使用matplotlib的savefig的最后一行应该可以解决问题。但是该代码会产生以下错误: Traceback (most recent call last): File "./testgraph.py", line 76, in <module> ax = fig.add_subplot(ax) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/figure.py", line 890, in add_subplot assert(a.get_figure() is self) AssertionError 另外,尝试直接在图上调用savefig也会出错: dtf2.plot().savefig('~/Documents/output.png') File "./testgraph.py", line 79, in <module> dtf2.plot().savefig('~/Documents/output.png') AttributeError: 'AxesSubplot' …

5
按熊猫数据框分组,然后在每组中选择最新的
如何对熊猫数据框的值进行分组并从每个组中选择最新(按日期)? 例如,给定一个按日期排序的数据框: id product date 0 220 6647 2014-09-01 1 220 6647 2014-09-03 2 220 6647 2014-10-16 3 826 3380 2014-11-11 4 826 3380 2014-12-09 5 826 3380 2015-05-19 6 901 4555 2014-09-01 7 901 4555 2014-10-05 8 901 4555 2014-11-01 按ID或产品分组,然后选择最早给出: id product date 2 220 6647 2014-10-16 5 …

5
按熊猫中的自定义列表排序
阅读完之后:http : //pandas.pydata.org/pandas-docs/version/0.13.1/genic/pandas.DataFrame.sort.html 我似乎仍然无法弄清楚如何通过自定义列表对列进行排序。显然,默认排序是字母顺序的。我举一个例子。这是我的(非常删节的)数据帧: Player Year Age Tm G 2967 Cedric Hunter 1991 27 CHH 6 5335 Maurice Baker 2004 25 VAN 7 13950 Ratko Varda 2001 22 TOT 60 6141 Ryan Bowen 2009 34 OKC 52 6169 Adrian Caldwell 1997 31 DAL 81 我希望能够按播放器,年份和Tm进行排序。按玩家和年份的默认排序对我来说是正常的。但是,我不希望Team按字母B / c排序,而我希望TOT始终位于顶部。 这是我创建的列表: sorter = …
78 python  sorting  pandas 


3
根据Python大熊猫中的数据框制作matplotlib散点图
使用Python中matplotlib的pandas数据框制作一系列散点图的最佳方法是什么? 例如,如果我的数据框df有一些感兴趣的列,我会发现自己通常将所有内容都转换为数组: import matplotlib.pylab as plt # df is a DataFrame: fetch col1 and col2 # and drop na rows if any of the columns are NA mydata = df[["col1", "col2"]].dropna(how="any") # Now plot with matplotlib vals = mydata.values plt.scatter(vals[:, 0], vals[:, 1]) 在绘制之前将所有内容都转换为数组的问题是,它迫使您脱离数据框。 考虑以下两个用例,其中完整的数据帧对于绘图至关重要: 例如,如果您现在想查看在col3调用中绘制的对应值的所有值scatter,并用该值为每个点(或大小)上色,该怎么办?您必须返回,拉出的非na值,col1,col2并检查它们对应的值。 在保留数据框的同时有一种绘制方法吗?例如: mydata = df.dropna(how="any", …

4
删除熊猫中的索引名称
我有一个像这样的数据框: In [10]: df Out[10]: Column 1 foo Apples 1 Oranges 2 Puppies 3 Ducks 4 如何index name foo从该数据框中删除?所需的输出是这样的: In [10]: df Out[10]: Column 1 Apples 1 Oranges 2 Puppies 3 Ducks 4

3
python pandas将索引转换为日期时间
如何将字符串的熊猫索引转换为日期时间格式 我的数据框“ df”是这样的 value 2015-09-25 00:46 71.925000 2015-09-25 00:47 71.625000 2015-09-25 00:48 71.333333 2015-09-25 00:49 64.571429 2015-09-25 00:50 72.285714 但是索引是字符串类型,但是我需要它的日期时间格式,因为我得到了错误 'Index' object has no attribute 'hour' 使用时 df['A'] = df.index.hour
77 python  pandas 

2
附加在for循环中生成的熊猫数据框
我正在for循环中访问一系列Excel文件。然后,我将excel文件中的数据读取到pandas数据框。我无法弄清楚如何将这些数据框附加在一起,然后将数据框(现在包含所有文件中的数据)另存为新的Excel文件。 这是我尝试过的: for infile in glob.glob("*.xlsx"): data = pandas.read_excel(infile) appended_data = pandas.DataFrame.append(data) # requires at least two arguments appended_data.to_excel("appended.xlsx") 谢谢!
77 python  pandas 

3
使用loc和仅使用方括号来过滤Pandas / Python中的列有什么区别?
我注意到在Pandas DataFrame中选择列的三种方法: 使用loc选择列的第一种方法: df_new = df.loc[:, 'col1'] 第二种方法-看起来更简单,更快: df_new = df['col1'] 第三种方法-最方便: df_new = df.col1 这三种方法之间有区别吗?我不这么认为,在这种情况下,我宁愿使用第三种方法。 我最奇怪的是为什么似乎有三种方法可以做同一件事。

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.