草庐IT

pandas-explode

全部标签

python - 将 Numpy 数组按列转换为 Pandas DataFrame(作为单行)

我有一个像这样的numpy数组:a=np.array([35,2,160,56,120,80,1,1,0,0,1])然后我尝试将该数组转换为具有逻辑“一列一值”的pandas数据框,如下所示:columns=['age','gender','height','weight','ap_hi','ap_lo','cholesterol','gluc','smoke','alco','active']values=adf=pd.DataFrame(a,columns=columns)这种方法引发ValueError:传递值的形状是(1,11),索引暗示(11,11)。我做错了什么以及如何以正

python - Pandas 中的聚合

如何使用Pandas执行聚合?聚合后没有DataFrame!发生了什么?如何主要聚合字符串列(到lists,tuples,stringswithseparator)?如何汇总计数?如何创建由聚合值填充的新列?我已经看到这些反复出现的问题询问Pandas聚合功能的各个方面。今天关于聚合及其各种用例的大部分信息都分散在数十个措辞恶劣、无法搜索的帖子中。这里的目的是为后代整理一些更重要的观点。本问答是一系列有用的用户指南的下一部分:Howtopivotadataframe,PandasconcatHowdoIoperateonaDataFramewithaSeriesforeverycolu

Python Pandas 将列表列表的一列扩展为两个新列

我有一个看起来像这样的DF。nameidappsjohn1[[app1,v1],[app2,v2],[app3,v3]]smith2[[app1,v1],[app4,v4]]我想扩展应用列,使其看起来像这样。nameidapp_nameapp_versionjohn1app1v1john1app2v2john1app3v3smith2app1v1smith2app4v4感谢任何帮助 最佳答案 您可以.apply(pd.Series)两次以作为中间步骤获得您需要的内容,然后合并回原始数据框。importpandasaspddf=pd.

python - 使用 Pandas,如何删除每组的最后一行?

我有一个数据框,如下所示:importpandasaspddf=pd.DataFrame({'A':['one','one','two','three','three','one'],'B':range(6)})grouped=df.groupby('A')printgrouped.head()ABAone0one01one15one5three3three34three4two2two2我可以通过以下操作轻松选择每组的最后一行:print(grouped.agg(lambdax:x.iloc[-1]))BAone5three4two2我怎样才能删除每个组的最后一行?结果将是:AB0o

python - 使用 Pandas 组合/合并 2 个不同的 Excel 文件/工作表

我正在尝试合并2个不同的Excel文件。(感谢帖子Importmultipleexcelfilesintopythonpandasandconcatenatethemintoonedataframe)目前我做的是:importosimportpandasaspddf=pd.DataFrame()forfin['c:\\file1.xls','c:\\file2.xls']:data=pd.read_excel(f,'Sheet1')df=df.append(data)df.to_excel("c:\\all.xls")这是它们的样子。但是我想:排除每个文件的最后一行(即File1.xl

python - Pandas :获取数据帧中对角线下方的元素(索引,列)

我有一个pandasDataFrame,df。我想提取df中所有(col,index)的列表,其中(col,index)>.95的值。此外,我想以它们位于df的下对角线这一事实为条件,不包括对角线本身。(如果有帮助的话,它是相关df,所以对角线是1,这不是我感兴趣的。)我该怎么做? 最佳答案 In[71]:df=DataFrame(np.arange(25).reshape(5,5))In[72]:dfOut[72]:01234001234156789210111213143151617181942021222324这掩盖了上三角(

python - 从 {index : list of row values} 形式的字典构造 Pandas DataFrame

我已经设法使用:dft=pd.DataFrame.from_dict({0:[50,45,00,00],1:[53,48,00,00],2:[56,53,00,00],3:[54,49,00,00],4:[53,48,00,00],5:[50,45,00,00]},orient='index')这样做,构造函数看起来就像DataFrame一样,易于阅读/编辑:>>>dft0123050450015348002565300354490045348005504500但是DataFrame.from_dictconstructor没有列参数,因此为列提供合理的名称需要一个额外的步骤:dft.

python - 使用 Scikit Learn 对时间序列 pandas 数据框进行线性回归

我正在尝试使用scikit学习线性回归器对Pandas数据框进行简单的线性回归。我的数据是一个时间序列,pandas数据框有一个日期时间索引:value2007-01-010.7713052007-02-010.2566282008-01-010.6709202008-02-010.098047做一些简单的事fromsklearnimportlinear_modellr=linear_model.LinearRegression()lr(data.index,data['value'])没用:float()argumentmustbeastringoranumber所以我尝试创建一个包

python - Pandas 数据框 : Group by two columns and then average over another column

假设我有一个具有以下值的数据框:df:col1col2value123121231我想首先根据前两列(col1和col2)对我的数据框进行分组,然后对第三列(值)的值进行平均。所以所需的输出将如下所示:col1col2avg-value122231我正在使用以下代码:columns=['col1','col2','avg']df=pd.DataFrame(columns=columns)df.loc[0]=[1,2,3]df.loc[1]=[1,3,3]print(df[['col1','col2','avg']].groupby('col1','col2').mean())出现以下错

python - Pandas 用新值更新数据框行

我有一个文本文件,它已被df1=pandas.read_csv(r'fruits.txt',sep=',')读入pandasitemfreshness0apple2.21pear0.0以及将产生apple=2.3结果的一系列计算是否可以执行pandas.update以便我可以将数据框中apple的freshness值更新为2.3? 最佳答案 IIUC你需要loc:apple=2.3printdf['item']=='apple'0True1FalseName:item,dtype:booldf.loc[df['item']=='ap