草庐IT

pyhton_Pandas

全部标签

python - Pandas Dataframe 中的 MultiIndex Groupby

我有一个数据集,其中包含按年份划分的国家和经济指标统计数据,组织方式如下:CountryMetric2011201220132014USAGDP7402USAPop.2303GBGDP8707GBPop.2600FRGDP5001FRPop.1105我如何在pandas中使用MultiIndex创建一个数据框,该数据框仅按年份显示每个国家/地区的GDP?我试过:df=data.groupby(['Country','Metric'])但它没有正常工作。 最佳答案 在这种情况下,您实际上不需要groupby。您也没有MultiInde

python - Pandas to_dict 使用 outtype ='records' 更改索引类型

我正在尝试在以下DataFrame上调用to_dict函数:将pandas导入为pddata={"a":[1,2,3,4,5],"b":[90,80,40,60,30]}df=pd.DataFrame(数据)ab01901280234034604530df.reset_index().to_dict("r")[{'a':1,'b':90,'index':0},{'a':2,'b':80,'index':1},{'a':3,'b':40,'index':2},{'a':4,'b':60,'index':3},{'a':5,'b':30,'index':4}]但是,如果我对数据帧执行浮点运

python - 我可以用 Pandas 附加到压缩流吗?

我知道通过将compression='gzip'参数传递给pd.to_csv()我可以将DataFrame保存到压缩的CSV文件中。my_df.to_csv('my_file_name.csv',compression='gzip')我也知道,如果我想附加一个DataFrame到现有CSV文件的末尾,我可以使用mode='a',就像这样my_df.to_csv('my_file_name.csv',mode='a',index=False)但是,如果我想将DataFrame附加到压缩的CSV文件的末尾怎么办?这可能吗?我试着这样做my_df.to_csv('my_file_name.c

python - 将 Pandas DataFrame 转换为 Spark DataFrame

我之前问过一个关于如何Convertscipysparsematrixtopyspark.sql.dataframe.DataFrame的问题,并在阅读提供的答案以及thisarticle后取得了一些进展.我最终找到了以下用于将scipy.sparse.csc_matrix转换为pandas数据帧的代码:df=pd.DataFrame(csc_mat.todense()).to_sparse(fill_value=0)df.columns=header然后我尝试使用建议的语法将pandas数据帧转换为spark数据帧:spark_df=sqlContext.createDataFram

python - Pandas 时间序列重新采样结束给定的一天

我怀疑许多处理时间序列数据的人已经遇到过这个问题,而pandas似乎没有提供直接的解决方案(还!):假设:您有一个包含收盘价的每日数据时间序列,按日期(天)编制索引。今天是19JUN。LastClose数据值为18JUN。您想要将每日数据重新采样到OHLC条中,以某个给定的频率(比如M或2M)结束于6月18日。所以对于Mfreq,最后一根柱线是19MAY-18JUN,前一根柱线是19APR-18MAY,依此类推...ts.resample('M',how='ohlc')将进行重采样,但“M”是“end_of_month”期间,因此结果将给出2014-05的完整月份和2014-06的2周

python - cx_Oracle中如何使用Pandas Write_Frame将结果导出到Oracle数据库

我正在尝试将PandasDataFrame导出到Oracle数据库。我在Pandas中遇到了Write_Frame函数,这听起来正是我所需要的。但是,我在网上进行了大量搜索,但就是无法正常工作。我已经导入了cx_Oracle并且可以连接到Oracle数据库以及运行SQL查询而没有任何问题,但是当我运行它时它会给我一个“NotImplementedError”:importpandas.io.sqlaspsqloutput=psql.write_frame(MyResults,name='MySchema.MyTable',con=MyCon,flavor='oracle',if_exi

python - Pandas :为什么 pandas.Series.std() 与 numpy.std() 完全不同

我得到了如下两段代码。importnumpynumpy.std([766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346])0和importpandasaspdpd.Series([766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346,766897346]).std(ddof=0)10.119288512538814这是

应用于行的所有成对组合的 Python pandas 函数

我正在尝试对pandas数据框中所有成对的行组合运行一个函数(相关):stats=dict()forlinitertools.combinations(dat.index.tolist(),2):stats[l]=pearsonr(dat.loc[l[0],:],dat.loc[l[1],:])#stores(r,p)当然这很慢,我想知道如何通过使用类似apply()或其他方式来做同样的事情。注意:我知道我可以直接找到数据帧与pandascorr()的相关性函数,但是它不返回关联的p值(我需要它用于过滤目的) 最佳答案 这应该可以加

python - 用于搜索的 Pandas 列索引?

在关系型数据库中,我们可以在列上创建索引,以加快对这些列的查询和连接。我想在Pandas数据框上做同样的事情。行索引似乎不是关系数据库提供的。问题是:默认情况下,pandas中的列是否已索引以供搜索?如果不能,是否可以手动索引列以及如何做?编辑:我已阅读pandas文档并到处搜索,但没有人提到pandas的索引和搜索/合并性能。似乎没有人关心这个问题,尽管它在关系数据库中很关键。任何人都可以就Pandas的索引和性能发表声明吗?谢谢。 最佳答案 如@pvg所述-pandas模型不是内存关系数据库的模型。所以,如果我们试图用sql和它

python - Pandas 中奇怪的数据操作

我正在阅读WesMckinney的PythonforDataAnalysis,但我对这种数据操作感到惊讶。可以看到所有程序here但我会尽量在这里总结一下。假设你有这样的东西:In[133]:agg_counts=by_tz_os.size().unstack().fillna(0)Out[133]:aNotWindowsWindowstz245276Africa/Cairo03Africa/Casablanca01Africa/Ceuta02Africa/Johannesburg01Africa/Lusaka01America/Anchorage41...tz表示时区,NotWind