Questions tagged «pandas»

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

14
熊猫:使用运算符链接过滤DataFrame的行
在大部分操作pandas可以与运营商链接(来完成groupby,aggregate,apply,等),但我发现过滤行唯一方法是通过正常的托架索引 df_filtered = df[df['column'] == value] 这没有吸引力,因为它要求我先分配df一个变量,然后才能根据其值进行过滤。还有以下内容吗? df_filtered = df.mask(lambda x: x['column'] == value)
329 python  pandas  dataframe 

17
熊猫-如何展平列中的层次结构索引
我有一个在轴1(列)中具有层次结构索引的数据框(来自groupby.agg操作): USAF WBAN year month day s_PC s_CL s_CD s_CNT tempf sum sum sum sum amax amin 0 702730 26451 1993 1 1 1 0 12 13 30.92 24.98 1 702730 26451 1993 1 2 0 0 13 13 32.00 24.98 2 702730 26451 1993 1 3 1 10 2 …
325 python  pandas  dataframe 


7
熊猫read_csv low_memory和dtype选项
打电话时 df = pd.read_csv('somefile.csv') 我得到: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/pandas/io/parsers.py:1130:DtypeWarning:列(4,5,7,16)具有混合类型。在导入时指定dtype选项,或将low_memory = False设置为false。 为什么dtype选项与关联low_memory,为什么使它False有助于解决此问题?

11
如何使用熊猫存储数据框
现在,CSV每次运行脚本时,我都会导入一个相当大的数据框。是否有一个很好的解决方案,可以使数据帧在两次运行之间保持持续可用,因此我不必花费所有时间等待脚本运行?
317 python  pandas  dataframe 

10
用字典重新映射熊猫列中的值
我有一本字典,看起来像这样: di = {1: "A", 2: "B"} 我想将其应用于类似于以下内容的数据框的“ col1”列: col1 col2 0 w a 1 1 2 2 2 NaN 要得到: col1 col2 0 w a 1 A 2 2 B NaN 我怎样才能最好地做到这一点?由于某种原因,与此相关的谷歌搜索术语仅向我显示了有关如何根据字典创建列的链接,反之亦然:-/

5
熊猫根据其他列的值创建新列/逐行应用多列的功能
我想申请我的自定义函数(它使用的if-else梯)这六个列(ERI_Hispanic,ERI_AmerInd_AKNatv,ERI_Asian,ERI_Black_Afr.Amer,ERI_HI_PacIsl,ERI_White我的数据帧的每一行中)。 我尝试了与其他问题不同的方法,但似乎仍然找不到适合我问题的正确答案。关键在于,如果该人被视为西班牙裔,就不能被视为其他任何人。即使他们在另一个种族栏中的得分为“ 1”,他们仍然被视为西班牙裔,而不是两个或两个以上的种族。同样,如果所有ERI列的总和大于1,则将它们计为两个或多个种族,并且不能计为唯一的种族(西班牙裔除外)。希望这是有道理的。任何帮助将不胜感激。 这几乎就像在每行中进行一个for循环一样,如果每条记录都符合条件,则将它们添加到一个列表中并从原始列表中删除。 从下面的数据框中,我需要根据以下SQL规范来计算新列: ===================================================== ======= IF [ERI_Hispanic] = 1 THEN RETURN “Hispanic” ELSE IF SUM([ERI_AmerInd_AKNatv] + [ERI_Asian] + [ERI_Black_Afr.Amer] + [ERI_HI_PacIsl] + [ERI_White]) > 1 THEN RETURN “Two or More” ELSE IF [ERI_AmerInd_AKNatv] = 1 THEN RETURN “A/I AK Native” ELSE IF [ERI_Asian] = 1 THEN RETURN “Asian” …
316 python  pandas  numpy  apply 

8
熊猫有条件地创建系列/数据框列
我有下面的数据框: Type Set 1 A Z 2 B Z 3 B X 4 C Y 我想向数据框添加另一列(或生成一系列),该列的长度与数据框的长度相同(=记录/行的数目相等),如果Set ='Z'则设置为绿色,如果Set ='否则为'red' 。 最好的方法是什么?


6
根据涉及len(string)的条件表达式从pandas DataFrame删除行,从而给出KeyError
我有一个pandas DataFrame,我想从中删除行,其中特定列中字符串的长度大于2。 我希望能够做到这一点(根据此答案): df[(len(df['column name']) < 2)] 但我只是得到错误: KeyError: u'no item named False' 我究竟做错了什么? (注意:我知道我可以df.dropna()用来删除包含any的行NaN,但是我没有看到如何根据条件表达式删除行。)
303 python  pandas 

7
熊猫-获取给定列的第一行值
这似乎是一个非常简单的问题……但是我没有看到我期望的简单答案。 那么,如何获得Pandas中给定列的第n行的值?(我对第一行特别感兴趣,但也对更通用的做法感兴趣)。 例如,假设我想将Btime中的1.2值作为变量。 什么是正确的方法? df_test = ATime X Y Z Btime C D E 0 1.2 2 15 2 1.2 12 25 12 1 1.4 3 12 1 1.3 13 22 11 2 1.5 1 10 6 1.4 11 20 16 3 1.6 2 9 10 1.7 12 29 12 …
299 python  pandas  indexing  head 

15
将Python字典转换为数据框
我有如下的Python字典: {u'2012-06-08': 388, u'2012-06-09': 388, u'2012-06-10': 388, u'2012-06-11': 389, u'2012-06-12': 389, u'2012-06-13': 389, u'2012-06-14': 389, u'2012-06-15': 389, u'2012-06-16': 389, u'2012-06-17': 389, u'2012-06-18': 390, u'2012-06-19': 390, u'2012-06-20': 390, u'2012-06-21': 390, u'2012-06-22': 390, u'2012-06-23': 390, u'2012-06-24': 390, u'2012-06-25': 391, u'2012-06-26': 391, u'2012-06-27': 391, u'2012-06-28': 391, u'2012-06-29': 391, u'2012-06-30': 391, u'2012-07-01': 391, u'2012-07-02': …
298 python  pandas  dataframe 


12
在datetime,Timestamp和datetime64之间转换
如何将numpy.datetime64对象转换为datetime.datetime(或Timestamp)? 在下面的代码中,我创建一个datetime,timestamp和datetime64对象。 import datetime import numpy as np import pandas as pd dt = datetime.datetime(2012, 5, 1) # A strange way to extract a Timestamp object, there's surely a better way? ts = pd.DatetimeIndex([dt])[0] dt64 = np.datetime64(dt) In [7]: dt Out[7]: datetime.datetime(2012, 5, 1, 0, 0) In [8]: ts Out[8]: …
289 python  datetime  numpy  pandas 

8
等效的熊猫数(不同)
我使用pandas作为数据库替代品,因为我有多个数据库(oracle,mssql等),并且无法对SQL等效命令进行一系列命令。 我在DataFrame中加载了一个带有一些列的表: YEARMONTH, CLIENTCODE, SIZE, .... etc etc 在SQL中,每年计算不同客户端的数量将是: SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH; 结果将是 201301 5000 201302 13245 如何在熊猫中做到这一点?

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.