草庐IT

pyspark-dataframes

全部标签

python - 仅选择多索引 DataFrame 的一个索引

我正在尝试使用多索引DataFrame中的一个索引创建一个新的DataFrame。ABCfirstsecondbarone0.8957170.410835-1.413681two0.8052440.8138501.607920bazone-1.2064120.1320031.024180two2.565646-0.8273170.569605fooone1.431256-0.0764670.875906two1.340309-1.187678-2.211372quxone-1.1702991.1301270.974466two-0.226169-1.436737-2.006747理想情

python - 自然排序 Pandas DataFrame

我有一个pandasDataFrame,其中包含我想自然排序的索引。Natsort似乎不起作用。在构建DataFrame之前对索引进行排序似乎没有帮助,因为我对DataFrame所做的操作似乎弄乱了过程中的排序。关于如何自然地使用索引有什么想法吗?fromnatsortimportnatsortedimportpandasaspd#Anunsortedlistofstringsa=['0hr','128hr','72hr','48hr','96hr']#Sortedincorrectlyb=sorted(a)#NaturallySortedc=natsorted(a)#Useaasth

python - pandas DataFrame,如何将函数应用于特定列?

我已阅读DataFrame.apply的文档DataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None,args=(),**kwds)¶AppliesfunctionalonginputaxisofDataFrame.那么,如何将函数应用于特定列?In[1]:importpandasaspdIn[2]:data={'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}In[3]:df=pd.DataFrame(data)In[4]:dfOut[4]:ABC014712582369In[5]:def

python - 从 PySpark 中的数据框中删除重复项

我在本地处理pyspark1.4中的数据帧,并且在使dropDuplicates方法起作用时遇到问题。它不断返回错误:"AttributeError:'list'objecthasnoattribute'dropDuplicates'"不太清楚为什么我似乎遵循了latestdocumentation中的语法.#loadingtheCSVfileintoanRDDinordertostartworkingwiththedatardd1=sc.textFile("C:\myfilename.csv").map(lambdaline:(line.split(",")[0],line.spli

python - Pandas - dataframe groupby - 如何获取多列的总和

这应该很简单,但不知何故我找不到可行的解决方案。我有一个pandas数据框,如下所示:indexcol1col2col3col4col50ac12f1ac12f2ad12f3bd12g4be12g5be12g我想按col1和col2分组并得到col3和col4的sum()。col5可以被删除,因为数据无法聚合。输出应该是这样的。我对在生成的数据框中同时包含col3和col4感兴趣。col1和col2是否是索引的一部分并不重要。indexcol1col2col3col40ac241ad122bd123be24这是我尝试过的:df_new=df.groupby(['col1','col2'

python - 反转 Pandas DataFrame 中列顺序的大 O 复杂度是多少?

假设我在pandas中有一个具有m行和n列的DataFrame。假设我想颠倒列的顺序,这可以通过以下代码完成:df_reversed=df[df.columns[::-1]]这个操作的BigO复杂度是多少?我假设这取决于列数,但它是否也取决于行数? 最佳答案 我不知道Pandas如何实现这一点,但我确实根据经验对其进行了测试。我运行了以下代码(在Jupyter笔记本中)来测试运行速度:defget_dummy_df(n):returnpd.DataFrame({'a':[1,2]*n,'b':[4,5]*n,'c':[7,8]*n}

python - Pandas DataFrame 到多维 NumPy 数组

我有一个数据框,我想使用其中一列作为第3维将其转换为多维数组。例如:df=pd.DataFrame({'id':[1,2,2,3,3,3],'date':np.random.randint(1,6,6),'value1':[11,12,13,14,15,16],'value2':[21,22,23,24,25,26]})我想将它转换为具有维度(id、日期、值)的3D数组,如下所示:问题是'id'的出现次数不同,所以我不能使用np.reshape()。对于这个简化的例子,我能够使用:ra=np.full((3,3,3),np.nan)fori,valueinenumerate(df['i

python - 在 DataFrame 上应用函数后更改 Series

我正在尝试使用pandas来使用简单的函数就地更改我的其中一个列。在阅读了整个Dataframe之后,我尝试在一个Series上应用函数:wanted_data.age.apply(lambdax:x+1)而且效果很好。当我尝试将它放回我的DataFrame时,唯一的问题出现了:wanted_data.age=wanted_data.age.apply(lambdax:x+1)或:wanted_data['age']=wanted_data.age.apply(lambdax:x+1)抛出以下警告:>C:\Anaconda\lib\site-packages\pandas\core\g

python - dataframe.to_hdf() 中的参数键是什么意思

DataFrame.to_hdf(path_or_buf,key,**kwargs)pandas官方文档中说key是store中组的标识。但是,这是什么意思?尽管如此,我还是找不到足够的例子。我已经为参数键尝试了一些任意值,但我没有看到它们之间有任何区别。有时,api引用可能非常模糊。谁能给我一些例子来帮助我更好地理解参数键? 最佳答案 在pandasto_hdf中,'key'参数是您存储在hdf5文件中的对象的名称。您可以将多个对象(数据帧)存储在一个hdf5文件中。因此,例如,您可以将数据帧“xyz”和数据帧“abc”存储在同一

python - 从字典创建 Python DataFrame,其中键是列名,值构成行

我熟悉python,但对pandaDataFrames不熟悉。我有一本这样的字典:a={'b':100,'c':300}我想将它转换为DataFrame,其中b和c是列名,第一行是100,300(100在b下面,300在c下面)。我想要一个可以推广到更长的字典,包含更多项目的解决方案。谢谢! 最佳答案 将值作为列表传递:a={'b':[100,],'c':[300,]}pd.DataFrame(a)bc0100300或者如果出于某种原因您不想使用列表,请包含一个索引:a={'b':100,'c':300}pd.DataFrame(a