草庐IT

python - 在 Pandas 中按标签选择多列

我一直在寻找通过python文档和论坛选择列的方法,但是关于索引列的每个示例都过于简单。假设我有一个10x10的数据框df=DataFrame(randn(10,10),index=range(0,10),columns=['A','B','C','D','E','F','G','H','I','J'])到目前为止,所有文档都只是一个简单的索引示例subset=df.loc[:,'A':'C']或subset=df.loc[:,'C':]但是当我尝试索引多个非顺序列时出现错误,像这样subset=df.loc[:,('A':'C','E')]如果我想选择列A到C、E和G到I,我将如何在

python - 从 Pandas DataFrame 绘制条形图

假设我有一个如下所示的DataFrame:Hour|V1|V2|A1|A20|15|13|25|371|26|52|21|452|18|45|45|253|65|38|98|14我正在尝试创建一个条形图以按Hour比较列V1和V2。当我这样做时:importmatplotlib.pyplotaspltax=df.plot(kind='bar',title="Vcomp",figsize=(15,10),legend=True,fontsize=12)ax.set_xlabel("Hour",fontsize=12)ax.set_ylabel("V",fontsize=12)我得到一个带

python - 从 Pandas DataFrame 绘制条形图

假设我有一个如下所示的DataFrame:Hour|V1|V2|A1|A20|15|13|25|371|26|52|21|452|18|45|45|253|65|38|98|14我正在尝试创建一个条形图以按Hour比较列V1和V2。当我这样做时:importmatplotlib.pyplotaspltax=df.plot(kind='bar',title="Vcomp",figsize=(15,10),legend=True,fontsize=12)ax.set_xlabel("Hour",fontsize=12)ax.set_ylabel("V",fontsize=12)我得到一个带

python - 如何简单地将列级别添加到 Pandas 数据框

假设我有一个如下所示的数据框:df=pd.DataFrame(index=list('abcde'),data={'A':range(5),'B':range(5)})dfOut[92]:ABa00b11c22d33e44假设这个数据框已经存在,我怎么能简单地在列索引中添加一个级别“C”,所以我得到了这个:dfOut[92]:ABCCa00b11c22d33e44我看到了这样的回答python/pandas:howtocombinetwodataframesintoonewithhierarchicalcolumnindex?但这concat不同的数据框,而不是向已经存在的数据框添加列

python - 如何简单地将列级别添加到 Pandas 数据框

假设我有一个如下所示的数据框:df=pd.DataFrame(index=list('abcde'),data={'A':range(5),'B':range(5)})dfOut[92]:ABa00b11c22d33e44假设这个数据框已经存在,我怎么能简单地在列索引中添加一个级别“C”,所以我得到了这个:dfOut[92]:ABCCa00b11c22d33e44我看到了这样的回答python/pandas:howtocombinetwodataframesintoonewithhierarchicalcolumnindex?但这concat不同的数据框,而不是向已经存在的数据框添加列

python - 在 Python Pandas 中从其他两个系列创建一个元素最小系列

我很难找到一种方法来在pandas中高效地处理最少两个Series对象。例如,我可以很容易地添加两个系列:In[1]:importpandasaspds1=pd.Series(data=[1,1,1],index=[1,2,3])s2=pd.Series(data=[1,2,2,1],index=[1,2,3,4])s1.add(s2)Out[1]:1223334NaNdtype:float64但我找不到在两个系列之间进行元素最小值的有效方法(以及对齐索引和处理NaN值)。没关系。combine函数有一个逃生舱口,因此您可以放入任何元素方面的函数:In[2]:s1=pd.Series(

python - 在 Python Pandas 中从其他两个系列创建一个元素最小系列

我很难找到一种方法来在pandas中高效地处理最少两个Series对象。例如,我可以很容易地添加两个系列:In[1]:importpandasaspds1=pd.Series(data=[1,1,1],index=[1,2,3])s2=pd.Series(data=[1,2,2,1],index=[1,2,3,4])s1.add(s2)Out[1]:1223334NaNdtype:float64但我找不到在两个系列之间进行元素最小值的有效方法(以及对齐索引和处理NaN值)。没关系。combine函数有一个逃生舱口,因此您可以放入任何元素方面的函数:In[2]:s1=pd.Series(

python - 获取满足条件的 Pandas DataFrame 行的整数索引?

我有以下数据框:abcb21235456如您所见,列b用作索引。我想获得满足('b'==5)的行的序号,在本例中为1。被测试的列可以是索引列(如本例中的b)或常规列,例如我可能想找到满足('c'==6).的行的索引 最佳答案 使用Index.get_loc而是。重用@unutbu的设置代码,您将获得相同的结果。>>>importpandasaspd>>>importnumpyasnp>>>df=pd.DataFrame(np.arange(1,7).reshape(2,3),columns=list('abc'),index=pd.

python - 获取满足条件的 Pandas DataFrame 行的整数索引?

我有以下数据框:abcb21235456如您所见,列b用作索引。我想获得满足('b'==5)的行的序号,在本例中为1。被测试的列可以是索引列(如本例中的b)或常规列,例如我可能想找到满足('c'==6).的行的索引 最佳答案 使用Index.get_loc而是。重用@unutbu的设置代码,您将获得相同的结果。>>>importpandasaspd>>>importnumpyasnp>>>df=pd.DataFrame(np.arange(1,7).reshape(2,3),columns=list('abc'),index=pd.

python - 如何从内存中删除多个 Pandas (python)数据帧以节省 RAM?

作为预处理的一部分,我创建了很多数据框。由于我的内存有限6GB,我想从RAM中删除所有不必要的数据帧,以避免在scikit-learn中运行GRIDSEARCHCV时内存不足。1)是否有仅列出当前加载到内存中的所有数据帧的功能?我尝试了dir()但它提供了许多其他对象而不是数据帧。2)我创建了一个要删除的数据框列表del_df=[Gender_dummies,capsule_trans,col,concat_df_list,coup_CAPSULE_dummies]&跑了foriindel_df:del(i)但它没有删除数据框。但是单独删除数据框如下是从内存中删除数据帧。delGend