草庐IT

dataframe

全部标签

python通过列表创建一个包含一行的数据框

在python中,假设我有一个列表[1,2,3,...,100],我想使用这个列表创建一个数据框,它只有一行,行值是列表。执行此操作最快且优雅的方法是什么? 最佳答案 将列表作为列表参数传递给data:In[11]:l=range(1,100)pd.DataFrame(data=[l])Out[11]:0123456789...8990919293949596\012345678910...9091929394959697979809899[1rowsx99columns]您可以将列名称作为参数传递给DataFrame构造函数或直接

python - 如何获得两个数据框的交集?

我有两个格式相似的数据框:df1=DataFrame({'a':[0,1,2,3,4],'b':['q','r','s','t','u']})df1ab00q11r22s33t44udf2=DataFrame({'a':[4,3,2,1,999],'b':['u','r','s','t','u']})df2ab04u13r22s31t4999u我想获得一个新的数据框,其中的行同时出现在这两个数据中(忽略索引)。所以上面的例子给出了一个dataframeab04u12s我如何得到这个路口? 最佳答案 你可以只执行merge,这将使用所

python - 在 Pandas 数据框中的列子集中查找具有非零值的行

我有一个包含4列字符串和其他整数的数据框。现在我需要找出那些数据行,其中至少一列是非零值(或>0)。manwra,sahAyaH,T7,0,0,0,0,Tmanwra,akriti,T5,0,0,1,0,Kawma,prabrtih,B6,0,1,1,0,S我的输出应该是manwra,akriti,T5,0,0,1,0,Kawma,prabrtih,B6,0,1,1,0,S我尝试了以下方法来获得答案。字符串值位于第0、1、2和-1列(最后一列)。KT[KT.ix[:,3:-2]!=0]我收到的输出是NaN,NaNNaN,NaN,NaN,NaN,NaN,NaNNaN,NaN,NaN,Na

python - 意外类型 : <class 'pyspark.sql.types.DataTypeSingleton' > when casting to Int on a ApacheSpark Dataframe

尝试将StringType转换为pyspark数据帧上的IntType时出现错误:joint=aggregates.join(df_data_3,aggregates.year==df_data_3.year)joint2=joint.filter(joint.CountyCode==999).filter(joint.CropName=='WOOL')\.select(aggregates.year,'Production')\.withColumn("ProductionTmp",df_data_3.Production.cast(IntegerType))\.drop("Prod

python - 'DataFrame' 对象没有属性 'melt'

我只想在pandas中使用melt函数,但我总是遇到同样的错误。只需键入文档提供的示例:cheese=pd.DataFrame({'first':['John','Mary'],'last':['Doe','Bo'],'height':[5.5,6.0],'weight':[130,150]})我刚得到错误:---------------------------------------------------------------------------AttributeErrorTraceback(mostrecentcalllast)in()---->1cheese.melt(i

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 和 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 DataFrame?

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