Questions tagged «pandas»

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

8
从条目长度不同的字典创建数据框
假设我有一本包含10个键值对的字典。每个条目包含一个numpy数组。但是,所有数组的长度都不相同。 如何创建每个列包含不同条目的数据框? 当我尝试: pd.DataFrame(my_dict) 我得到: ValueError: arrays must all be the same length 有什么办法可以克服吗?我很高兴Pandas使用NaN这些列来填充较短的条目。
114 python  pandas 

3
大熊猫可以使用列作为索引吗?
我有一个像这样的电子表格: Locality 2005 2006 2007 2008 2009 ABBOTSFORD 427000 448000 602500 600000 638500 ABERFELDIE 534000 600000 735000 710000 775000 AIREYS INLET459000 440000 430000 517500 512500 我不想手动将列与行交换。是否可以使用熊猫将数据读取到列表中,如下所示: data['ABBOTSFORD']=[427000,448000,602500,600000,638500] data['ABERFELDIE']=[534000,600000,735000,710000,775000] data['AIREYS INLET']=[459000,440000,430000,517500,512500]
113 python  excel  pandas 

6
将y轴格式化为百分比
我有一个用熊猫创建的现有情节,如下所示: df['myvar'].plot(kind='bar') y轴的格式为float,我想将y轴更改为百分比。我发现的所有解决方案都使用ax.xyz语法,并且只能将代码放置在创建绘图的上方行下方(我无法在上面的行中添加ax = ax。) 如何在不更改上面的行的情况下将y轴格式化为百分比? 这是我找到的解决方案,但需要重新定义图: import matplotlib.pyplot as plt import numpy as np import matplotlib.ticker as mtick data = [8,12,15,17,18,18.5] perc = np.linspace(0,100,len(data)) fig = plt.figure(1, (7,4)) ax = fig.add_subplot(1,1,1) ax.plot(perc, data) fmt = '%.0f%%' # Format you want the ticks, e.g. '40%' xticks = mtick.FormatStrFormatter(fmt) ax.xaxis.set_major_formatter(xticks) plt.show() …

11
使用python pandas合并日期和时间列
我有一个带有以下各栏的熊猫数据框; Date Time 01-06-2013 23:00:00 02-06-2013 01:00:00 02-06-2013 21:00:00 02-06-2013 22:00:00 02-06-2013 23:00:00 03-06-2013 01:00:00 03-06-2013 21:00:00 03-06-2013 22:00:00 03-06-2013 23:00:00 04-06-2013 01:00:00 如何合并data ['Date']和data ['Time']以获得以下内容?有办法做到pd.to_datetime吗? Date 01-06-2013 23:00:00 02-06-2013 01:00:00 02-06-2013 21:00:00 02-06-2013 22:00:00 02-06-2013 23:00:00 03-06-2013 01:00:00 03-06-2013 21:00:00 03-06-2013 22:00:00 03-06-2013 23:00:00 04-06-2013 01:00:00

9
漂亮打印熊猫数据框
如何将pandas数据框打印为基于文本的漂亮表格,如下所示? +------------+---------+-------------+ | column_one | col_two | column_3 | +------------+---------+-------------+ | 0 | 0.0001 | ABCD | | 1 | 1e-005 | ABCD | | 2 | 1e-006 | long string | | 3 | 1e-007 | ABCD | +------------+---------+-------------+


6
从熊猫DataFrame制作热图
我有一个从Python的Pandas包生成的数据框。如何使用pandas包中的DataFrame生成热图。 import numpy as np from pandas import * Index= ['aaa','bbb','ccc','ddd','eee'] Cols = ['A', 'B', 'C','D'] df = DataFrame(abs(np.random.randn(5, 4)), index= Index, columns=Cols) >>> df A B C D aaa 2.431645 1.248688 0.267648 0.613826 bbb 0.809296 1.671020 1.564420 0.347662 ccc 1.501939 1.126518 0.702019 1.596048 ddd 0.137160 0.147368 1.504663 0.202822 eee …

5
使用Pandas Data Frame运行OLS回归
我有一个pandas数据框,我希望能够从B和C列中的值预测A列的值。这是一个玩具示例: import pandas as pd df = pd.DataFrame({"A": [10,20,30,40,50], "B": [20, 30, 10, 40, 50], "C": [32, 234, 23, 23, 42523]}) 理想情况下,我会有类似的东西,ols(A ~ B + C, data = df)但是当我查看算法库中的示例时,看起来好像scikit-learn是用行而不是列的列表将数据提供给模型。这将要求我将数据重新格式化为列表内的列表,这似乎首先使使用熊猫的目的遭到了破坏。在熊猫数据框中的数据上运行OLS回归(或更通用的任何机器学习算法)的最有效方法是什么?

11
在熊猫数据框中插入一行
我有一个数据框: s1 = pd.Series([5, 6, 7]) s2 = pd.Series([7, 8, 9]) df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"]) A B C 0 5 6 7 1 7 8 9 [2 rows x 3 columns] 并且我需要添加第一行[2、3、4]以获取: A B C 0 2 3 4 1 5 6 7 2 7 …




5
如何释放熊猫数据框使用的内存?
我在熊猫中打开了一个非常大的csv文件,如下所示。 import pandas df = pandas.read_csv('large_txt_file.txt') 完成此操作后,内存使用量将增加2GB,这是预期的,因为此文件包含数百万行。我的问题出在我需要释放此内存的时候。我跑了... del df 但是,我的内存使用没有下降。这是释放熊猫数据帧使用的内存的错误方法吗?如果是,正确的方法是什么?
111 python  pandas  memory 

4
在熊猫数据框中将Unix时间转换为可读日期
我有一个带有unix时间和价格的数据框。我想转换索引列,以便以人类可读的日期显示它。 因此,例如,我在index列中有dateas 1349633705,但我希望它显示为10/07/2012(或至少10/07/2012 18:15)。 在某些情况下,这是我正在使用的代码以及我已经尝试过的代码: import json import urllib2 from datetime import datetime response = urllib2.urlopen('http://blockchain.info/charts/market-price?&format=json') data = json.load(response) df = DataFrame(data['values']) df.columns = ["date","price"] #convert dates df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d")) df.index = df.date 如您所见,我在df.date = df.date.apply(lambda d: datetime.strptime(d, "%Y-%m-%d"))这里使用的 是无效的,因为我使用的是整数而不是字符串。我认为我需要使用,datetime.date.fromtimestamp但我不确定如何将其应用于整个df.date。 谢谢。

6
分配熊猫数据框列dtypes
我想在中设置dtype多列的s pd.Dataframe(我有一个文件必须手动解析为列表列表,因为该文件不适合pd.read_csv) import pandas as pd print pd.DataFrame([['a','1'],['b','2']], dtype={'x':'object','y':'int'}, columns=['x','y']) 我懂了 ValueError: entry not a 2- or 3- tuple 我可以设置它们的唯一方法是循环遍历每个列变量并使用进行重铸astype。 dtypes = {'x':'object','y':'int'} mydata = pd.DataFrame([['a','1'],['b','2']], columns=['x','y']) for c in mydata.columns: mydata[c] = mydata[c].astype(dtypes[c]) print mydata['y'].dtype #=> int64 有没有更好的办法?
110 python  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.