草庐IT

python - 带有 pandas 和 matplotlib 的条形图顶部的平均线

我正在尝试绘制PandasDataFrame,并添加一条线来显示均值和中位数。正如您在下面看到的,我为均值添加了一条红线,但它没有显示。如果我尝试在5处画一条绿线,它会显示在x=190处。所以显然x值被视为0、1、2,...而不是160、165、170,...如何画线,使其x值与x轴的值匹配?来自Jupyter:完整代码:%matplotlibinlinefrompandasimportSeriesimportmatplotlib.pyplotaspltheights=Series([165,170,195,190,170,170,185,160,170,165,185,195,185

python - 获取 Pandas 中的日期分位数

我有一些看起来像这样的数据:usertimestampvalue1a2007-01-017a2007-02-028a2007-02-039b2007-02-041a2007-02-052b2007-02-063b2007-02-074a2007-02-085...每个用户都有不同数量的条目。我的目标是了解这些条目的生成速度,并输出如下内容:last_entrymedian_entryfirst_entryusera2007-02-082007-02-032007-01-01b2007-02-072007-02-062007-02-04到目前为止,我的代码如下:gb=df.groupby

python - pandas如何计算偏斜

我正在计算一个coskew矩阵,并想用skew方法中内置的pandas仔细检查我的计算。我无法调和pandas执行计算的方式。将我的系列定义为:importpandasaspdseries=pd.Series({0:-0.051917457635120283,1:-0.070071606515280632,2:-0.11204865874074735,3:-0.14679988245503134,4:-0.088062467095565145,5:0.17579741198527793,6:-0.10765856028420773,7:-0.11971470229167547,8:-0

python - 访问 Pandas 数据框中内部多索引级别的最后一个元素

在multiindexpandasdataframe中,我想访问第二个索引的last元素以获取第一个索引的所有值。第二个索引中的级别数根据第一个索引的值而变化。我浏览了pandasmultiindexdocumentation但找不到能做到这一点的任何东西。例如,对于下面的数据框:arrays=[['bar','bar','baz','foo','foo','foo','qux'],['one','two','one','one','two','three','one']]tuples=list(zip(*arrays))index=pd.MultiIndex.from_tuples(

python - 以字符串元组作为索引的 Pandas DataFrame

我在这里感觉到一些奇怪的pandas行为。我有一个看起来像的数据框df=pd.DataFrame(columns=['Col1','Col2','Col3'],index=[('1','a'),('2','a'),('1','b'),('2','b')])In[14]:dfOut[14]:Col1Col2Col3(1,a)NaNNaNNaN(2,a)NaNNaNNaN(1,b)NaNNaNNaN(2,b)NaNNaNNaN我可以设置任意元素的值In[15]:df['Col2'].loc[('1','b')]=6In[16]:dfOut[16]:Col1Col2Col3(1,a)NaNN

python - 从现有数据框的某些列创建新的 Pandas 数据框

我已阅读将csv文件加载到pandas数据框中,并想对该数据框进行一些简单的操作。我不知道如何根据原始数据框中的选定列创建新的数据框。我的尝试:names=['A','B','C','D']dataset=pandas.read_csv('file.csv',names=names)new_dataset=dataset['A','D']我想用原始数据框中的A列和D列创建一个新数据框。 最佳答案 它被称为subset-在[]中传递的列列表:dataset=pandas.read_csv('file.csv',names=names)

python - Pandas any() 返回 false 且存在 true 值

我有一个大部分为空的数据框,其中包含格式不正确的日期,我已将其转换为DateTime格式。fromioimportStringIOdata=StringIO("""issue_date,issue_date_dt,,19600215.0,1960-02-15,,""")df=pd.read_csv(data,parse_dates=[1])产生issue_dateissue_date_dt0NaNNaT1NaNNaT219600215.01960-02-153NaNNaT4NaNNaT我希望我可以使用df.any()来查找行或列中是否有值。axis=0的行为符合预期:df.any(ax

python - 在 Pandas 聚合函数中创建多列

我想在像内置的ohlc方法一样对pandasDataFrame进行重采样时创建多个列。defmhl(data):returnpandas.Series([np.mean(data),np.max(data),np.min(data)],index=['mean','high','low'])ts.resample('30Min',how=mhl)死于Exception:Mustproduceaggregatedvalue有什么建议吗?谢谢! 最佳答案 您可以将函数字典传递给resample方法:In[35]:tsOut[35]:20

python - Pandas/PyTables 中的索引和数据列

http://pandas.pydata.org/pandas-docs/stable/io.html#indexing我对PandasHDF5IO中数据列的概念感到非常困惑。另外,在谷歌搜索上也找不到关于它的信息。由于我正在一个涉及HDF5存储的大型项目中深入研究Pandas,因此我想弄清楚这些概念。文档说:Youcandesignate(andindex)certaincolumnsthatyouwanttobeabletoperformqueries(otherthantheindexablecolumns,whichyoucanalwaysquery).Forinstances

Python:在多张纸上将 pandas DataFrame 写入 Excel 的最快方法

我需要将24个pandas数据框(140列x400行)导出到Excel,每个都导出到不同的工作表中。我正在使用pandas的内置ExcelWriter。运行24个场景,需要:51秒写入.xls文件(使用xlwt)86秒写入.xlsx文件(使用XlsxWriter)141秒写入.xlsm文件(使用openpyxl)仅运行程序需要21秒(无Excel输出)写入.xls的问题是电子表格不包含格式样式,因此如果我在Excel中打开它,选择一列,然后单击“逗号”按钮来格式化数字,它告诉我:“找不到样式逗号”。我在写入.xlsx时没有遇到这个问题,但这样更慢。关于如何使导出更快的任何建议?我不可能