草庐IT

pyhton_Pandas

全部标签

python - Pandas :添加其他列的长度作为值的列

我想向现有数据框添加一个附加列,该数据框的值是“seller_name”列的长度。输出应该是这样的:seller_namename_length-------------|-------------Rick|4Hannah|6但是,我很难获得正确的代码。df['name_length']=len(df['seller_name'])只是给我整列的长度(6845)和df['nl']=df[len('seller_name')]抛出一个KeyError。有人知道实现我的目标的正确命令吗?非常感谢! 最佳答案 使用.str字符串访问器对D

python - Pandas :按多个条件过滤组?

我有一个如下所示的数据框:df=pd.DataFrame([{'id':123,'date':'2016-01-01','is_local':True},{'id':123,'date':'2017-01-01','is_local':False},{'id':124,'date':'2016-01-01','is_local':True},{'id':124,'date':'2017-01-01','is_local':True}])df.date=df.date.astype('datetime64[ns]')我想获取所有ID的列表,其中is_local在2016年初为True,但

python - 在使用 pandas plot 方法创建的图表上格式化 x 轴

pandas.DataFrame.plot是一种从数据框中绘制数据的便捷方法。但是,我不明白如何使用这种方法来格式化轴。例如,importpandasaspdimportdatetimedf=pd.DataFrame(index=[datetime.datetime(2016,7,2,0,0),datetime.datetime(2016,8,6,0,0),datetime.datetime(2016,9,13,0,0),datetime.datetime(2016,10,26,0,0),datetime.datetime(2016,11,2,0,0)],data={'total':[

python - 获取 `pandas.DataFrame` 中列数总和最大的前 3 行?

这是我的pandas.DataFrame:day1day2day3Apple401398Orange324556Banana567687Pineapple121912Grape894567我想创建一个新的DataFrame,它将包含三天总和最大的前3个水果。apple三天的总和--151,orange--133,banana--219,菠萝--43,葡萄--201.所以排名前三的水果是:1)banana;2)葡萄;3)苹果。这是预期的输出:day1day2day3Banana567687Grape894567Apple401398我如何使用pandas.DataFrame做到这一点?谢

python - 导入 pandas.DataFrame 时获取 "IOError: [Errno 13] Permission denied:.."

我得到了IOError:[Errno13]Permissiondenied:'/usr/local/lib/python2.7/dist-packages/python_dateutil-2.2-py2.7.egg/EGG-INFO/top_level.txt'当我尝试导入Pandas时。我不明白为什么。在python3控制台中导入pandas就可以了。代码的执行也是用Python3完成的start_simulation.pyfromMarketimportMarketfromTestingAlgorithmimportTestingAlgorithmfromLiteForexHand

python - Pandas 系列卓越

pandas.Series对象doeshavemanyto_*functions,但它缺少to_excel函数。是否有更简单/更好的方法来完成此代码段第3行中的导出?仅仅为了简单的I/O就先将Series转换为DataFrame感觉很笨拙:importnumpyasnpimportpandasaspds=pd.Series([1,3,5,np.nan,6,8])pd.DataFrame(s).to_excel('s.xlsx','s') 最佳答案 您可以:1。从头构建一个DataFrame,在这种情况下,您已经回答了自己的问题。2。

python - 使用 Pandas 和 PyMongo 将 MongoDB 数据加载到 DataFrame 的更好方法?

我有一个0.7GB的MongoDB数据库,其中包含我试图加载到数据框中的推文。但是,我收到一个错误。MemoryError:我的代码是这样的:cursor=tweets.find()#Wheretweetsismycollectiontweet_fields=['id']result=DataFrame(list(cursor),columns=tweet_fields)我已经尝试了以下答案中的方法,这些方法有时会在加载之前创建数据库所有元素的列表。https://stackoverflow.com/a/17805626/2297475https://stackoverflow.com

python - Pandas - 用空的 python dict 对象替换 DataFrame 中的所有 NaN 值

我有一个pandasDataFrame,其中每个单元格都包含一个python字典。>>>data={'Q':{'X':{2:2010},'Y':{2:2011,3:2009}},'R':{'X':{1:2013}}}>>>frame=DataFrame(data)>>>frameQRX{2:2010}{1:2013}Y{2:2011,3:2009}NaN我想用一个空的字典替换NaN,以获得这个结果:QRX{2:2010}{1:2013}Y{2:2011,3:2009}{}但是,因为fillna函数不是将空字典解释为标量值,而是解释为列-->值的映射,所以如果我只是这样做,它什么也不做(

python - 在 pandas 和 numpy 中聚合 lambda 函数

下面有一个聚合语句:data=data.groupby(['type','status','name']).agg({'one':np.mean,'two':lambdavalue:100*((value>32).sum()/reading.mean()),'test2':lambdavalue:100*((value>45).sum()/value.mean())})我继续遇到关键错误。我已经能够让它适用于一个lambda函数,但不能适用于两个。 最佳答案 您需要在data中指定要聚合其值的列。例如,data=data.group

python - 如何将每行加一的简单计数器列添加到 Pandas DataFrame?

我经常遇到这个问题。如果您在Pandas中有一个现有的DataFrame,并且您想要添加一个只是增加计数的行,即。0、1、2...,最有效的方法是什么?谢谢!山姆 最佳答案 最简单的方法可能是df=df.reset_index()这将为您提供一个从0开始的新索引。你也可以这样做df['counter']=range(len(df)) 关于python-如何将每行加一的简单计数器列添加到PandasDataFrame?,我们在StackOverflow上找到一个类似的问题: