草庐IT

pyspark-dataframes

全部标签

python - pandas.DataFrame 中一列的反向累积总和

我有一个pandasDataFrame,其中一个bool列按另一列排序,需要计算bool列的反向累积和,即从当前行到底部的真实值的数量。例子In[13]:df=pd.DataFrame({'A':[True]*3+[False]*5,'B':np.random.rand(8)})In[15]:df=df.sort_values('B')In[16]:dfOut[16]:AB6False0.0377102True0.3154144False0.3324807False0.4455053False0.5801561True0.7415515False0.7969440True0.81756

python - 将 pandas DataFrame 列扩展为多行

如果我有一个DataFrame这样:pd.DataFrame({"name":"John","days":[[1,3,5,7]]})给出这个结构:daysname0[1,3,5,7]John如何展开成下面的?daysname01John13John25John37John 最佳答案 您可以使用df.itertuples遍历每一行,并使用列表理解将数据reshape为所需的形式:importpandasaspddf=pd.DataFrame({"name":["John","Eric"],"days":[[1,3,5,7],[2,4]

python - 将 pandas DataFrame 列扩展为多行

如果我有一个DataFrame这样:pd.DataFrame({"name":"John","days":[[1,3,5,7]]})给出这个结构:daysname0[1,3,5,7]John如何展开成下面的?daysname01John13John25John37John 最佳答案 您可以使用df.itertuples遍历每一行,并使用列表理解将数据reshape为所需的形式:importpandasaspddf=pd.DataFrame({"name":["John","Eric"],"days":[[1,3,5,7],[2,4]

python - 切片 DataFrame 后如何更新 pandas MultiIndex 的级别?

我有一个带有pandasMultiIndex的Dataframe:In[1]:importpandasaspdIn[2]:multi_index=pd.MultiIndex.from_product([['CAN','USA'],['total']],names=['country','sex'])In[3]:df=pd.DataFrame({'pop':[35,318]},index=multi_index)In[4]:dfOut[4]:popcountrysexCANtotal35USAtotal318然后我从该DataFrame中删除一些行:In[5]:df=df.query('

python - 切片 DataFrame 后如何更新 pandas MultiIndex 的级别?

我有一个带有pandasMultiIndex的Dataframe:In[1]:importpandasaspdIn[2]:multi_index=pd.MultiIndex.from_product([['CAN','USA'],['total']],names=['country','sex'])In[3]:df=pd.DataFrame({'pop':[35,318]},index=multi_index)In[4]:dfOut[4]:popcountrysexCANtotal35USAtotal318然后我从该DataFrame中删除一些行:In[5]:df=df.query('

python - pandas DataFrame 的序列化

有没有一种快速序列化DataFrame的方法?我有一个可以并行运行pandas分析的网格系统。最后,我想从每个网格作业中收集所有结果(作为DataFrame)并将它们聚合到一个巨大的DataFrame中。如何以可以快速加载的二进制格式保存数据帧? 最佳答案 最简单的方法就是使用to_pickle(作为pickle),参见picklingfromthedocsapipage:df.to_pickle(file_name)另一种选择是使用HDF5(建立在PyTables上)。入门的工作量稍微多一些,但查询的内容要丰富得多。

python - pandas DataFrame 的序列化

有没有一种快速序列化DataFrame的方法?我有一个可以并行运行pandas分析的网格系统。最后,我想从每个网格作业中收集所有结果(作为DataFrame)并将它们聚合到一个巨大的DataFrame中。如何以可以快速加载的二进制格式保存数据帧? 最佳答案 最简单的方法就是使用to_pickle(作为pickle),参见picklingfromthedocsapipage:df.to_pickle(file_name)另一种选择是使用HDF5(建立在PyTables上)。入门的工作量稍微多一些,但查询的内容要丰富得多。

python - 按另一个索引的顺序对 Pandas Dataframe 进行排序

假设我有两个共享相同索引的数据帧df1和df2。df1按照我希望df2排序的顺序排序。df=pd.DataFrame(index=['Arizona','NewMexico','Colorado'],columns=['A','B','C'],data=[[1,2,3],[4,5,6],[7,8,9]])printdfABCArizona123NewMexico456Colorado789df2=pd.DataFrame(index=['Arizona','Colorado','NewMexico'],columns=['D'],data=['Orange','Blue','Green

python - 按另一个索引的顺序对 Pandas Dataframe 进行排序

假设我有两个共享相同索引的数据帧df1和df2。df1按照我希望df2排序的顺序排序。df=pd.DataFrame(index=['Arizona','NewMexico','Colorado'],columns=['A','B','C'],data=[[1,2,3],[4,5,6],[7,8,9]])printdfABCArizona123NewMexico456Colorado789df2=pd.DataFrame(index=['Arizona','Colorado','NewMexico'],columns=['D'],data=['Orange','Blue','Green

python - 如何在 pandas DataFrame 中选择和删除具有重复名称的列

我有一个巨大的DataFrame,其中一些列具有相同的名称。当我尝试选择一个存在两次的列时,(例如deldf['colname']或df2=df['colname'])出现错误.我能做什么? 最佳答案 您可以通过索引寻址列:>>>df=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['a','a'])>>>dfaa012134256>>>df.iloc[:,0]011325或者你可以重命名列,比如>>>df.columns=['a','b']>>>dfab012134256