Questions tagged «pandas»

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

7
通过标签选择的熊猫有时返回Series,有时返回DataFrame
在Pandas中,当我选择一个索引中仅包含一个条目的标签时,我会得到一个系列,但是当我选择一个具有多于一个条目的条目时,我就会得到一个数据框。 这是为什么?有没有办法确保我总是取回数据帧? In [1]: import pandas as pd In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3]) In [3]: type(df.loc[3]) Out[3]: pandas.core.frame.DataFrame In [4]: type(df.loc[1]) Out[4]: pandas.core.series.Series


4
在DataFrame Pandas中添加带有日期之间的天数的列
我想从“ B”中的日期中减去“ A”中的日期,并添加一个具有差异的新列。 df A B one 2014-01-01 2014-02-28 two 2014-02-03 2014-03-01 我尝试了以下操作,但是在尝试将其包含在for循环中时遇到错误... import datetime date1=df['A'][0] date2=df['B'][0] mdate1 = datetime.datetime.strptime(date1, "%Y-%m-%d").date() rdate1 = datetime.datetime.strptime(date2, "%Y-%m-%d").date() delta = (mdate1 - rdate1).days print delta 我该怎么办?

4
pandas.qcut和pandas.cut有什么区别?
该文档说: http://pandas.pydata.org/pandas-docs/dev/basics.html “可以使用cut(基于值的bin)和qcut(基于样本分位数的bin)函数离散化连续值” 对我来说听起来很抽象...我可以在下面的示例中看到差异,但是qcut(样本分位数)实际上在做什么/意味着什么?什么时候使用qcut和cut? 谢谢。 factors = np.random.randn(30) In [11]: pd.cut(factors, 5) Out[11]: [(-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (0.575, 1.561], ..., (-0.411, 0.575], (-1.397, -0.411], (0.575, 1.561], (-2.388, -1.397], (-0.411, 0.575]] Length: 30 Categories (5, object): [(-2.388, -1.397] < (-1.397, -0.411] < (-0.411, 0.575] < (0.575, 1.561] …
94 python  pandas 


11
在熊猫数据框中使用NaN查找行的整数索引
我有一个这样的熊猫DataFrame: a b 2011-01-01 00:00:00 1.883381 -0.416629 2011-01-01 01:00:00 0.149948 -1.782170 2011-01-01 02:00:00 -0.407604 0.314168 2011-01-01 03:00:00 1.452354 NaN 2011-01-01 04:00:00 -1.224869 -0.947457 2011-01-01 05:00:00 0.498326 0.070416 2011-01-01 06:00:00 0.401665 NaN 2011-01-01 07:00:00 -0.019766 0.533641 2011-01-01 08:00:00 -1.101303 -1.408561 2011-01-01 09:00:00 1.671795 -0.764629 有没有一种有效的方法来查找具有NaN的行的“整数”索引?在这种情况下,所需的输出应为[3, 6]。
94 python  pandas 

5
NaN和None有什么区别?
我正在使用熊猫读取csv文件的两列,readcsv()然后将值分配给字典。这些列包含数字和字母字符串。有时在某些情况下单元格为空。在我看来,应读取None但应nan分配该字典条目的值。当然None,由于它具有空值,因此更能描述一个空单元格,而nan只是说读取的值不是数字。 我的理解正确吗,None和之间有什么区别nan?为什么nan分配而不是None? 另外,我的字典检查是否有任何空单元格一直在使用numpy.isnan(): for k, v in my_dict.iteritems(): if np.isnan(v): 但这给了我一个错误,说我不能使用此检查v。我猜这是因为要使用整数或浮点变量,而不是字符串。如果是这样,如何检查v“空单元” / nan盒?
94 python  numpy  pandas  nan 

11
Jupyter笔记本电脑并排显示两个熊猫桌
我有两个熊猫数据框,我想在Jupyter笔记本中显示它们。 做类似的事情: display(df1) display(df2) 将它们显示为一个接一个: 我想在第一个数据框的右边添加第二个数据框。有一个类似的问题,但似乎有人对将它们合并到一个显示它们之间差异的数据框中感到满意。 这对我不起作用。在我的情况下,数据帧可以表示完全不同的(不可比较的元素),并且它们的大小可以不同。因此,我的主要目标是节省空间。

3
如何从Pandas DataFrame标头中删除空格?
我正在从Excel文件中解析数据,该文件在某些​​列标题中具有额外的空白。 当我使用来检查结果数据框的列时df.columns,我看到: Index(['Year', 'Month ', 'Value']) ^ # Note the unwanted trailing space on 'Month ' 因此,我无法执行以下操作: df["Month"] 因为它会告诉我找不到列,因为我要求输入“ Month”而不是“ Month”。 那么,我的问题是如何从列标题中去除不需要的空白?

3
熊猫总计数不同
假设我有一个用户活动日志,我想生成一个总持续时间和每天唯一身份用户数量的报告。 import numpy as np import pandas as pd df = pd.DataFrame({'date': ['2013-04-01','2013-04-01','2013-04-01','2013-04-02', '2013-04-02'], 'user_id': ['0001', '0001', '0002', '0002', '0002'], 'duration': [30, 15, 20, 15, 30]}) 汇总持续时间非常简单: group = df.groupby('date') agg = group.aggregate({'duration': np.sum}) agg duration date 2013-04-01 65 2013-04-02 45 我想做的是同时计算持续时间并计算不重复次数,但我似乎找不到count_distinct的等效项: agg = group.aggregate({ 'duration': np.sum, 'user_id': count_distinct}) 这可行,但是肯定有更好的方法,不是吗? …
94 python  pandas 

10
根据熊猫中的列名删除多个列
我有一些数据,导入时会得到以下不需要的列,我正在寻找一种删除所有这些数据的简便方法 'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27', 'Unnamed: 28', 'Unnamed: 29', 'Unnamed: 30', 'Unnamed: 31', 'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35', 'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39', 'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43', 'Unnamed: 44', 'Unnamed: 45', 'Unnamed: 46', 'Unnamed: 47', 'Unnamed: …
94 python  pandas 

5
从列表中添加数据框中的列
我有一些像这样的数据框: A B C 0 4 5 6 7 7 6 5 A中值的可能范围仅为0到7。 另外,我有一个8个元素的列表,如下所示: List=[2,5,6,8,12,16,26,32] //There are only 8 elements in this list 如果A列中的元素是n,我需要将List中的第n个元素插入新列,例如'D'。 如何一口气做到这一点而又不遍历整个数据框? 产生的数据框如下所示: A B C D 0 2 4 12 5 16 6 26 7 32 7 32 6 26 5 16 注意:数据框很大,迭代是最后一个选项。但是如果需要的话,我也可以将其他元素(例如dict)布置在“列表”中的元素中。

6
如何将另一整列作为参数传递给pandas fillna()
我想使用fillna方法使用另一列中的值填充一列中的缺失值。 (我读过,遍历每一行是非常不好的做法,最好一口气做完所有事情,但是我不知道该怎么做fillna。) 之前的数据: Day Cat1 Cat2 1 cat mouse 2 dog elephant 3 cat giraf 4 NaN ant 之后的数据: Day Cat1 Cat2 1 cat mouse 2 dog elephant 3 cat giraf 4 ant ant
94 python  pandas  fillna 

7
熊猫如何过滤系列
在执行groupby('name')并在其他列上使用过mean()函数后,我得到了这样的系列 name 383 3.000000 663 1.000000 726 1.000000 737 9.000000 833 8.166667 谁能告诉我如何过滤出平均值为1.000000的行?谢谢,我非常感谢您的帮助。
94 python  pandas 

5
使用pandas和matplotlib绘制分类数据
我有一个包含分类数据的数据框: colour direction 1 red up 2 blue up 3 green down 4 red left 5 red right 6 yellow down 7 blue down 我想根据类别生成一些图形,例如饼图和直方图。是否可以不创建虚拟数值变量?就像是 df.plot(kind='hist')
94 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.