草庐IT

pandas-explode

全部标签

python - 在不预定义要使用的字符串数的情况下在 Pandas 中搜索多个字符串

我想知道是否有更通用的方法来执行以下操作?我想知道是否有办法创建st函数以便我可以搜索非预定义数量的字符串?例如,能够创建一个通用的st函数,然后键入st('Governor','Virginia','Google)这是我当前的函数,但它预定义了两个您可以使用的词。(df是一个Pandas数据框)defsearch(word1,word2,word3df):"""allowsyoutosearchanintersectionofthreeterms"""returndf[df.Name.str.contains(word1)&df.Name.str.contains(word2)&df

python Pandas : DataFrame filter negative values

我想知道如何删除列中包含负值的所有索引。我正在使用PandasDataFrames。DocumentationPandasDataFrame格式:Myid-valuecol1-valuecol2-valuecol3-...valuecol30所以我的DataFrame叫做data我知道如何为1列执行此操作:data2=data.index[data['valuecol1']>0]data3=data.ix[data3]所以我只得到valuecol1>0的id,我怎样才能做一些and声明?valuecol1&&valuecol2&&valuecol3&&...&&valuecol30>0

python - matlab数据文件到pandas DataFrame

这个问题在这里已经有了答案:Read.matfilesinPython(15个答案)关闭5年前。有没有一种标准的方法可以将matlab.mat(matlab格式的数据)文件转换为PandaDataFrame?我知道使用scipy.io可以解决问题,但我想知道是否有一种直接的方法可以做到这一点。

python - 如何从 Pandas 数据框中的当前行中减去前一行并将其应用于每一行;不使用循环?

我正在使用Python3.5,并且正在使用pandas。我已经从yahoofinance加载了股票数据并将文件保存到csv。我的DataFrames从csv加载这些数据。这是我的DataFrame的csv文件的十行副本DateOpenHighLowCloseVolumeAdjClose1990-04-1226.87500026.87500026.62526.6256100250.5760361990-04-1626.50000026.75000026.37526.750500251.7524491990-04-1726.75000026.87500026.75026.875230025

python - Pandas :无法写入 excel 文件

尝试来自documentation的这个例子writer=ExcelWriter('output.xlsx')df1.to_excel(writer,'Sheet1')df2.to_excel(writer,'Sheet2')writer.save()我发现我无法写入错误的excel文件TypeError:copy()gotanunexpectedkeywordargument'font'我在Macpro上使用Panda0.16。编辑:写入xls文件工作得很好。我并不坚持要有一个xlsx文件,只是想知道为什么它不起作用。 最佳答案

Python Pandas Dataframe 按组中的最大值选择行

我有一个通过df.pivot创建的数据框:typestartendF_Typeto_dateA20150908143000345316B20150908140300NaN48020150908140600NaN12020150908143000107438803C20150908140100NaN171520150908140200NaN106220150908141000NaN14520150908141500418NaN20150908141800NaN4502015090814290019731499201509081430001952216659D201509081430004

python Pandas : remove everything after a delimiter in a string

我有数据框,其中包含例如:"vendora::ProductA""vendorb::ProductA""vendora::Productb"我需要删除所有内容(包括)这两个::以便我最终得到:"vendora""vendorb""vendora"我尝试了str.trim(似乎不存在)和str.split,但没有成功。完成此任务的最简单方法是什么? 最佳答案 您可以像正常使用split一样使用pandas.Series.str.split。只需拆分字符串'::',并索引从split方法创建的列表:>>>df=pd.DataFrame(

python - Pandas DataFrame 将多个列值堆叠到单个列中

假设以下DataFrame:key.0key.1key.2topic1abcdefghi82xabxcdxef9如何将所有key.*列的值组合成一个“key”列,该列与对应于key.*列的主题值相关联?这是我想要的结果:topickey18abc28def38ghi49xab59xcd69xef请注意,key.N列的数量在某些外部N上是可变的。 最佳答案 你可以融化你的数据框:>>>keys=[cforcindfifc.startswith('key.')]>>>pd.melt(df,id_vars='topic',value_va

python - Panda 的 DataFrame - 重命名多个同名列

我在df中有几个名称相同的列。我需要重命名它们,但问题是df.rename方法以相同的方式重命名它们。如何将以下blah(s)重命名为blah1、blah4、blah5?df=pd.DataFrame(np.arange(2*5).reshape(2,5))df.columns=['blah','blah2','blah3','blah','blah']df#blahblah2blah3blahblah#001234#156789这是使用df.rename方法时发生的情况:df.rename(columns={'blah':'blah1'})#blah1blah2blah3blah1b

python - Pandas - 根据索引替换值

如果我像这样创建一个数据框:importpandasaspd,numpyasnpdf=pd.DataFrame(np.random.randint(0,100,size=(100,2)),columns=list('AB'))例如,如何将A列中的条目更改为第0-15行中的数字16?换句话说,如何完全根据索引替换单元格? 最佳答案 使用loc:df.loc[0:15,'A']=16print(df)AB0164511652169731658416265168761651716178163991673101694111669121657