草庐IT

Pandas-Datareader

全部标签

python - 从列名列表中删除 pandas 数据框中的列的快速方法是什么

这个问题在这里已经有了答案:DeleteacolumnfromaPandasDataFrame(20个答案)关闭6年前。我正在尝试找出使用列名列表在df中删除列的最快方法。这是一种奇特的特征缩减技术。这就是我现在正在使用的,它需要永远。非常感谢任何建议。important2=(important[:-(len(important)-500)])foriinimportant:ifiinimportant2:passelse:df_reduced.drop(i,axis=1,inplace=True)df_reduced.head()

python - Pandas 从数据框中选择不连续的列

我正在使用以下内容从数据帧梳中选择特定的列,我想将其放入新的数据帧中。个人选择工作正常EG:comb.ix[:,0:1],但是当我尝试使用+组合它们时,我得到了一个不好的结果,第一个选择([:,0:1])卡在了最后dataframe和原始col1中包含的值在出现在行末时被删除。获得我想要的列的正确方法是什么?(我会包含示例数据,但正如您所见,列太多...这就是我尝试这样做的原因)comb.ix[:,0:1]+comb.ix[:,17:342] 最佳答案 如果您想连接df列的子选择,请使用pd.concat:pd.concat([co

python - 带有分类标记的行/列的散点图 pandas DataFrame

我想使用matplotlib生成带有分类行和列标签的pandasDataFrame散点图。示例DataFrame如下所示:importpandasaspddf=pd.DataFrame({"a":[1,2],"b":[3,4]},index=["c","d"])#ab#c12#d34标记大小是各个DataFrame值的函数。到目前为止,我想出了一个笨拙的解决方案,基本上是枚举行和列,绘制数据,然后重建标签:flat=df.reset_index(drop=True).T.reset_index(drop=True).T.stack().reset_index()#level_0leve

python - 如何检查 float pandas 列是否只包含整数?

我有一个数据框df=pd.DataFrame(data=np.arange(10),columns=['v']).astype(float)如何确保v中的数字是整数?我非常担心舍入/截断/浮点表示错误 最佳答案 与astype(int)比较暂时将您的列转换为int并使用np.array_equal进行测试:np.array_equal(df.v,df.v.astype(int))Truefloat.is_integer您可以将此python函数与apply结合使用:df.v.apply(float.is_integer).all()

Python Pandas 系列日期时间到纪元以来的秒数

遵循thisanswer的精神,我尝试了以下操作,将日期时间的DataFrame列转换为纪元以来的秒数列。df['date']=(df['date']+datetime.timedelta(hours=2)-datetime.datetime(1970,1,1))df['date'].map(lambdatd:td.total_seconds())第二个命令导致以下错误,我不明白。对这里可能发生的事情有什么想法吗?我用apply替换了map,但这无济于事。------------------------------------------------------------------

使用 rolling_apply 的 Python 自定义函数用于 pandas

我想使用pandas.rolling_apply函数在滚动窗口的基础上应用我自己的自定义函数。但是我的函数需要两个参数,并且还有两个输出。这可能吗?下面是一个最小的可重现示例...importpandasaspdimportnumpyasnpimportrandomtmp=pd.DataFrame(np.random.randn(2000,2)/10000,index=pd.date_range('2001-01-01',periods=2000),columns=['A','B'])defgm(df,p):v=(((df+1).cumprod())-1)*preturnv.iloc[

python - 返回 pandas 数据框中特定值的列名

我在其他语言(例如R或SQL)中找到了此选项,但我不太确定如何在Pandas中执行此操作。所以我有一个包含1262列和1行的文件,每次出现特定值时都需要返回列标题。例如这个测试数据框:Datecol1col2col3col4col5col6col701/01/201600:0037.0436.5735.7737.5636.7935.9038.15我需要找到列名称,例如其中值=38.15。这样做的最佳方式是什么?谢谢 最佳答案 既然你只有一行,那么你可以对结果调用iloc[0]并使用它来屏蔽列:In[47]:df.columns[(d

python - Pandas 滚动应用自定义

我一直在关注类似的答案here,但是我在使用sklearn和rollingapply时有一些问题。我正在尝试创建z-scores并通过滚动应用进行PCA,但我一直收到'onlylength-1arrayscanbeconvertedtoPythonscalars'错误。按照前面的示例,我创建了一个数据框fromsklearn.preprocessingimportStandardScalerimportpandasaspdimportnumpyasnpsc=StandardScaler()tmp=pd.DataFrame(np.random.randn(2000,2)/10000,in

python - 在 json 中存储 pandas 数据框时保持列和行顺序

当使用to_json将数据存储在json对象中,并使用read_json读回时,返回的行和列按字母顺序排序。有没有办法让结果保持有序或在检索时重新排序? 最佳答案 您可以使用orient='split',它将索引和列信息存储在列表中,列表保持顺序:In[34]:dfOut[34]:ACB501243453678In[35]:df.to_json(orient='split')Out[35]:'{"columns":["A","C","B"],"index":[5,4,3],"data":[[0,1,2],[3,4,5],[6,7,8

python - 将 SKLearn 癌症数据集加载到 Pandas DataFrame 中

我正在尝试根据键(target_names、target和DESCR)加载sklearn.dataset,但缺少一列。我尝试了各种方法来包含最后一列,但有错误。importnumpyasnpimportpandasaspdfromsklearn.datasetsimportload_breast_cancercancer=load_breast_cancer()printcancer.keys()thekeysare['target_names','data','target','DESCR','feature_names']data=pd.DataFrame(cancer.data,