草庐IT

pyhton_Pandas

全部标签

python - Pandas `isin` 函数的更快替代方案

我有一个非常大的数据框df,看起来像:IDValue1Value213453.233213552.23223461.01134568.9322我有一个包含IDID_list子集的列表。对于ID_list中包含的ID,我需要有一个df的子集。目前,我正在使用df_sub=df[df.ID.isin(ID_list)]来做这件事。但这需要很多时间。ID_list中包含的ID没有任何规律,因此不在一定范围内。(而且我需要对许多类似的数据帧应用相同的操作。我想知道是否有更快的方法来做到这一点。如果将ID作为索引会有很大帮助吗?谢谢! 最佳答案

python - Pandas `isin` 函数的更快替代方案

我有一个非常大的数据框df,看起来像:IDValue1Value213453.233213552.23223461.01134568.9322我有一个包含IDID_list子集的列表。对于ID_list中包含的ID,我需要有一个df的子集。目前,我正在使用df_sub=df[df.ID.isin(ID_list)]来做这件事。但这需要很多时间。ID_list中包含的ID没有任何规律,因此不在一定范围内。(而且我需要对许多类似的数据帧应用相同的操作。我想知道是否有更快的方法来做到这一点。如果将ID作为索引会有很大帮助吗?谢谢! 最佳答案

python - 建立多元回归模型抛出错误 : `Pandas data cast to numpy dtype of object. Check input data with np.asarray(data).`

我有pandas数据框,其中包含一些分类预测变量(即变量),如0和1,以及一些数字变量。当我将它安装到像这样的stasmodel时:est=sm.OLS(y,X).fit()它抛出:Pandasdatacasttonumpydtypeofobject.Checkinputdatawithnp.asarray(data).我使用df.convert_objects(convert_numeric=True)转换了DataFrame的所有数据类型在此之后,所有数据帧变量的数据类型都显示为int32或int64。但是最后还是显示dtype:object,像这样:4516int324523in

python - 建立多元回归模型抛出错误 : `Pandas data cast to numpy dtype of object. Check input data with np.asarray(data).`

我有pandas数据框,其中包含一些分类预测变量(即变量),如0和1,以及一些数字变量。当我将它安装到像这样的stasmodel时:est=sm.OLS(y,X).fit()它抛出:Pandasdatacasttonumpydtypeofobject.Checkinputdatawithnp.asarray(data).我使用df.convert_objects(convert_numeric=True)转换了DataFrame的所有数据类型在此之后,所有数据帧变量的数据类型都显示为int32或int64。但是最后还是显示dtype:object,像这样:4516int324523in

python - pandas 中所有 NaN 的总和返回零?

我正在尝试对Pandas数据框的各列求和,当我在每一列中都有NaN时,我得到sum=0;根据文档,我预计sum=NaN。这是我得到的:In[136]:df=pd.DataFrame()In[137]:df['a']=[1,2,np.nan,3]In[138]:df['b']=[4,5,np.nan,6]In[139]:dfOut[139]:ab0141252NaNNaN336In[140]:df['total']=df.sum(axis=1)In[141]:dfOut[141]:abtotal014512572NaNNaN03369pandas.DataFrame.sum文档说“如果整

python - pandas 中所有 NaN 的总和返回零?

我正在尝试对Pandas数据框的各列求和,当我在每一列中都有NaN时,我得到sum=0;根据文档,我预计sum=NaN。这是我得到的:In[136]:df=pd.DataFrame()In[137]:df['a']=[1,2,np.nan,3]In[138]:df['b']=[4,5,np.nan,6]In[139]:dfOut[139]:ab0141252NaNNaN336In[140]:df['total']=df.sum(axis=1)In[141]:dfOut[141]:abtotal014512572NaNNaN03369pandas.DataFrame.sum文档说“如果整

python - 如何使用 Pandas 绘制阴影条?

我正在尝试通过填充图案而不是(仅仅)颜色来实现差异化。我如何使用Pandas做到这一点?通过传递hatch在matplotlib中是可能的所讨论的可选参数here.我知道我也可以将该选项传递给Pandasplot,但我不知道如何告诉它为每个DataFrame使用不同的填充图案专栏。df=pd.DataFrame(rand(10,4),columns=['a','b','c','d'])df.plot(kind='bar',hatch='/');对于颜色,有colormap描述的选项here.孵化有类似的东西吗?或者我可以通过修改Axes来手动设置它吗?plot返回的对象?

python - 如何使用 Pandas 绘制阴影条?

我正在尝试通过填充图案而不是(仅仅)颜色来实现差异化。我如何使用Pandas做到这一点?通过传递hatch在matplotlib中是可能的所讨论的可选参数here.我知道我也可以将该选项传递给Pandasplot,但我不知道如何告诉它为每个DataFrame使用不同的填充图案专栏。df=pd.DataFrame(rand(10,4),columns=['a','b','c','d'])df.plot(kind='bar',hatch='/');对于颜色,有colormap描述的选项here.孵化有类似的东西吗?或者我可以通过修改Axes来手动设置它吗?plot返回的对象?

python - 左对齐 Pandas 滚动对象

我想使用pandas0.18.1获取单列数据帧的滚动平均值。从0.18.0版本开始,这是通过rolling()对象完成的。这些滚动对象的默认设置是右对齐的。您可以传递一个bool参数center=True,以将滚动对象与中心值对齐,但似乎没有办法将其左对齐。这是一个例子:df=pandas.DataFrame({'A':[2,3,6,8,20,27]})dfA02132638420527标准方法自动向右对齐,因此在窗口大小为3的前两个索引处没有值:df.rolling(window=3).mean()A0NaN1NaN23.66666735.666667411.333333518.33

python - 左对齐 Pandas 滚动对象

我想使用pandas0.18.1获取单列数据帧的滚动平均值。从0.18.0版本开始,这是通过rolling()对象完成的。这些滚动对象的默认设置是右对齐的。您可以传递一个bool参数center=True,以将滚动对象与中心值对齐,但似乎没有办法将其左对齐。这是一个例子:df=pandas.DataFrame({'A':[2,3,6,8,20,27]})dfA02132638420527标准方法自动向右对齐,因此在窗口大小为3的前两个索引处没有值:df.rolling(window=3).mean()A0NaN1NaN23.66666735.666667411.333333518.33