草庐IT

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

python - Pandas :独特的数据框

我有一个重复行的DataFrame。我想获得一个具有唯一索引且没有重复项的DataFrame。可以丢弃重复的值。这可能吗?是由groupby完成的吗? 最佳答案 In[29]:df.drop_duplicates()Out[29]:bc123340759 关于python-Pandas:独特的数据框,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12322779/

python - Pandas :独特的数据框

我有一个重复行的DataFrame。我想获得一个具有唯一索引且没有重复项的DataFrame。可以丢弃重复的值。这可能吗?是由groupby完成的吗? 最佳答案 In[29]:df.drop_duplicates()Out[29]:bc123340759 关于python-Pandas:独特的数据框,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12322779/

python - pandas 中非唯一索引的性能影响是什么?

从pandas文档中,我收集到唯一值索引可以提高某些操作的效率,并且偶尔可以容忍非唯一索引。从外部看,非唯一索引似乎不会以任何方式被利用。例如,下面的ix查询速度很慢,以至于它似乎正在扫描整个数据帧In[23]:importnumpyasnpIn[24]:importpandasaspdIn[25]:x=np.random.randint(0,10**7,10**7)In[26]:df1=pd.DataFrame({'x':x})In[27]:df2=df1.set_index('x',drop=False)In[28]:%timeitdf2.ix[0]1loops,bestof3:4

python - pandas 中非唯一索引的性能影响是什么?

从pandas文档中,我收集到唯一值索引可以提高某些操作的效率,并且偶尔可以容忍非唯一索引。从外部看,非唯一索引似乎不会以任何方式被利用。例如,下面的ix查询速度很慢,以至于它似乎正在扫描整个数据帧In[23]:importnumpyasnpIn[24]:importpandasaspdIn[25]:x=np.random.randint(0,10**7,10**7)In[26]:df1=pd.DataFrame({'x':x})In[27]:df2=df1.set_index('x',drop=False)In[28]:%timeitdf2.ix[0]1loops,bestof3:4

python - 如何在 pandas DataFrame 中按列设置 dtypes

我想将一些数据带入pandasDataFrame,并且我想在导入时为每一列分配dtypes。我希望能够为具有许多不同列的较大数据集执行此操作,但是,例如:myarray=np.random.randint(0,5,size=(2,2))mydf=pd.DataFrame(myarray,columns=['a','b'],dtype=[float,int])mydf.dtypes结果:TypeError:datatypenotunderstood我尝试了其他一些方法,例如:mydf=pd.DataFrame(myarray,columns=['a','b'],dtype={'a':in

python - 如何在 pandas DataFrame 中按列设置 dtypes

我想将一些数据带入pandasDataFrame,并且我想在导入时为每一列分配dtypes。我希望能够为具有许多不同列的较大数据集执行此操作,但是,例如:myarray=np.random.randint(0,5,size=(2,2))mydf=pd.DataFrame(myarray,columns=['a','b'],dtype=[float,int])mydf.dtypes结果:TypeError:datatypenotunderstood我尝试了其他一些方法,例如:mydf=pd.DataFrame(myarray,columns=['a','b'],dtype={'a':in

python - Pandas 和 Matplotlib - fill_between() 与 datetime64

有一个Pandas数据框:Int64Index:300entries,5220to5519Datacolumns(total3columns):Date300non-nulldatetime64[ns]A300non-nullfloat64B300non-nullfloat64dtypes:datetime64[ns](1),float64(2)memoryusage:30.5KB我想绘制A和B系列与日期。plt.plot_date(data['Date'],data['A'],'-')plt.plot_date(data['Date'],data['B'],'-')然后我想在A和B系

python - Pandas 和 Matplotlib - fill_between() 与 datetime64

有一个Pandas数据框:Int64Index:300entries,5220to5519Datacolumns(total3columns):Date300non-nulldatetime64[ns]A300non-nullfloat64B300non-nullfloat64dtypes:datetime64[ns](1),float64(2)memoryusage:30.5KB我想绘制A和B系列与日期。plt.plot_date(data['Date'],data['A'],'-')plt.plot_date(data['Date'],data['B'],'-')然后我想在A和B系

python - 将多列除以 Pandas 中的另一列

我需要将DataFrame中除第一列之外的所有列除以第一列。这就是我正在做的事情,但我想知道这是否不是“正确”的Pandas方式:df=pd.DataFrame(np.random.rand(10,3),columns=list('ABC'))df[['B','C']]=(df.T.iloc[1:]/df.T.iloc[0]).T有没有办法做类似df[['B','C']]/df['A']的事情?(这只是给出了一个10x12的nan数据帧。)另外,在阅读了一些关于SO的类似问题后,我尝试了df['A'].div(df[['B','C']])但这给出了广播错误.