Questions tagged «pandas»

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


5
如何获得熊猫系列的按元素逻辑非?
我有一个Series包含布尔值的pandas 对象。如何获得包含NOT每个值逻辑的序列? 例如,考虑一个包含以下内容的系列: True True True False 我想要获得的系列将包含: False False False True 这似乎应该相当简单,但是显然我放错了我的mojo =(

12
熊猫获取不在其他数据框中的行
我有两个大熊猫数据框,它们有一些共同点。 假设dataframe2是dataframe1的子集。 如何获取dataframe1中不在dataframe2中的行? df1 = pandas.DataFrame(data = {'col1' : [1, 2, 3, 4, 5], 'col2' : [10, 11, 12, 13, 14]}) df2 = pandas.DataFrame(data = {'col1' : [1, 2, 3], 'col2' : [10, 11, 12]})
228 python  pandas  dataframe 

19
标准化熊猫数据框的列
我在熊猫中有一个数据框,其中每一列都有不同的值范围。例如: df: A B C 1000 10 0.5 765 5 0.35 800 7 0.09 知道如何将每个值介于0和1之间的数据框的列标准化吗? 我想要的输出是: A B C 1 1 1 0.765 0.5 0.7 0.8 0.7 0.18(which is 0.09/0.5)

5
如何制作好的可复制熊猫实例
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 花了相当多的时间看这两个 [R 和 大熊猫在SO上标记,我得到的印象是pandas问题不太可能包含可重复的数据。这是后话了R的群落已经不错了关于鼓励,并感谢像导游这样,新人能得到放在一起,这些例子一些帮助。能够阅读这些指南并获得可复制数据的人通常会很幸运地得到他们问题的答案。 我们如何为pandas问题创建良好的可复制示例?可以将简单的数据框放在一起,例如: import pandas as pd df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 'income': [40000, 50000, 42000]}) 但是许多示例数据集需要更复杂的结构,例如: datetime 索引或数据 多个类别变量(是否存在R的等效expand.grid()函数,该函数产生某些给定变量的所有可能组合?) MultiIndex或Panel数据 对于dput()难以使用几行代码来模拟的数据集,是否有与R等效的功能,可让您生成可复制粘贴的代码来重新生成数据结构?
221 python  pandas 

6
将多个功能应用于多个groupby列
该文档展示了如何使用输出列名称作为键的字典一次在groupby对象上应用多个功能: In [563]: grouped['D'].agg({'result1' : np.sum, .....: 'result2' : np.mean}) .....: Out[563]: result2 result1 A bar -0.579846 -1.739537 foo -0.280588 -1.402938 但是,这仅适用于Series groupby对象。同样,当将字典类似地传递到groupby DataFrame时,它期望键是将应用该函数的列名。 我想做的是对多个列应用多个功能(但是某些列将被多次操作)。同样,某些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列进行操作,并使用类似于上面代码的代码,对依赖其他行的函数使用lambda。但这要花很长时间,(我认为花很长时间才能遍历groupby对象)。我必须对其进行更改,以便一次运行即可遍历整个groupby对象,但是我想知道熊猫中是否有内置的方法可以使此操作更加简洁。 例如,我尝试过类似 grouped.agg({'C_sum' : lambda x: x['C'].sum(), 'C_std': lambda x: x['C'].std(), 'D_sum' : lambda x: x['D'].sum()}, 'D_sumifC3': lambda x: x['D'][x['C'] == 3].sum(), ...) 但正如我所料,我收到一个KeyError(因为如果agg从DataFrame调用,则键必须是一列)。 是否有任何内置方法可以执行我想做的事情,或者可能添加了此功能,或者我只需要手动遍历groupby? 谢谢


11
从熊猫日期时间列中分别提取月份和年份
我有一个数据框df,其中包含以下列: df['ArrivalDate'] = ... 936 2012-12-31 938 2012-12-29 965 2012-12-31 966 2012-12-31 967 2012-12-31 968 2012-12-31 969 2012-12-31 970 2012-12-29 971 2012-12-31 972 2012-12-29 973 2012-12-29 ... 该列的元素是pandas.tslib.Timestamp。 我只想包括年份和月份。我以为会有一种简单的方法,但是我无法弄清楚。 这是我尝试过的: df['ArrivalDate'].resample('M', how = 'mean') 我收到以下错误: Only valid with DatetimeIndex or PeriodIndex 然后我尝试了: df['ArrivalDate'].apply(lambda(x):x[:-2]) 我收到以下错误: 'Timestamp' object has no attribute '__getitem__' …
220 python  pandas 

7
从熊猫的数据框中删除无限值?
从熊猫DataFrame中删除nan和inf / -inf值而不重置的最快/最简单方法是什么mode.use_inf_as_null?我希望能够使用的subset和how参数dropna,但不能使用inf认为缺少的值,例如: df.dropna(subset=["col1", "col2"], how="all", with_inf=True) 这可能吗?有没有办法告诉它在缺失值的定义中dropna包含inf?
219 python  numpy  scipy  pandas 


20
scikit-learn中跨多列的标签编码
我正在尝试使用scikit-learn LabelEncoder来编码一大串DataFrame字符串标签。由于数据框有许多(50+)列,因此我想避免LabelEncoder为每一列创建一个对象。我宁愿只有一个LabelEncoder可以在我所有数据列中使用的大对象。 将整个数据DataFrame投入LabelEncoder会产生以下错误。请记住,我在这里使用伪数据。实际上,我正在处理大约50列的字符串标记数据,因此需要一个不按名称引用任何列的解决方案。 import pandas from sklearn import preprocessing df = pandas.DataFrame({ 'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 'New_York'] }) le = preprocessing.LabelEncoder() le.fit(df) 追溯(最近一次通话最近):文件“ /Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py”中的第1行,第103行,适合= column_or_1d的第306行“ column_or_1d(y,warn = True)文件“ /Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py”引发ValueError(“错误的输入形状{ 0}“。format(shape))ValueError:输入形状错误(6,3) 关于如何解决这个问题有什么想法吗?

13
将pandas函数应用于列以创建多个新列?
如何在熊猫中做到这一点: 我extract_text_features在单个文本列上有一个函数,返回多个输出列。具体来说,该函数返回6个值。 该函数有效,但是似乎没有任何合适的返回类型(pandas DataFrame / numpy array / Python list),以便可以正确分配输出 df.ix[: ,10:16] = df.textcol.map(extract_text_features) 所以,我想我需要回落到与迭代df.iterrows(),按照这个? 更新:进行迭代的df.iterrows()速度至少要慢20倍,所以我放弃了该功能并将其拆分为六个不同的.map(lambda ...)调用。 更新2:这个问题是在v0.11.0左右问的。因此,许多问题和答案不太相关。

8
逐行迭代时更新熊猫数据框
我有一个看起来像这样的熊猫数据框(非常大) date exer exp ifor mat 1092 2014-03-17 American M 528.205 2014-04-19 1093 2014-03-17 American M 528.205 2014-04-19 1094 2014-03-17 American M 528.205 2014-04-19 1095 2014-03-17 American M 528.205 2014-04-19 1096 2014-03-17 American M 528.205 2014-05-17 现在我想逐行进行迭代,当我遍历每一行时,每行中的值ifor 可以根据某些条件而变化,因此我需要查找另一个数据帧。 现在,如何在迭代时更新它。尝试了几项都不起作用的东西。 for i, row in df.iterrows(): if <something>: row['ifor'] = x else: …

5
从pandas数据框转换为html时,如何在html中显示完整(非截断)的数据框信息?
我使用该DataFrame.to_html函数将pandas数据框转换为html输出。当我将其保存到单独的html文件中时,该文件显示截断的输出。 例如,在我的“文字”列中, df.head(1) 将会呈现 这部电影是很棒的努力。 代替 这部电影是在解构这一时期盛行的复杂社会情绪方面做出的出色努力。 在大屏幕熊猫数据框的屏幕友好格式的情况下,这种表示形式很好,但是我需要一个HTML文件,该文件将显示数据框中包含的完整表格数据,即,将显示后一个文本元素而不是前一段文字。 如何在html版本的信息的TEXT列中显示每个元素的完整,不截断的文本数据?我可以想象html表必须显示长单元格才能显示完整的数据,但是据我所知,只能将列宽参数传递给该DataFrame.to_html函数。
212 python  html  pandas 

3
附加到熊猫中的空DataFrame吗?
是否可以将其追加到不包含任何索引或列的空数据框中? 我试图这样做,但最后总是得到一个空的数据框。 例如 df = pd.DataFrame() data = ['some kind of data here' --> I have checked the type already, and it is a dataframe] df.append(data) 结果看起来像这样: Empty DataFrame Columns: [] Index: []
212 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.