草庐IT

panda_link

全部标签

python - 没有标题的 Pandas 数据框删除列

在标题行为NaN的数据框中放置列的最pythonic位置是什么?最好就地。列中可能有也可能没有数据。df=pd.DataFrame({'col1':[1,2,np.NaN],'col2':[4,5,6],np.NaN:[7,np.NaN,9]})df.dropna(axis='columns',inplace=True)不会这样做,因为它会查看列中的数据。想要的输出df=pd.DataFrame({'col1':[1,2,np.NaN],'col2':[4,5,6]})预先感谢您的回复。 最佳答案 试试这个df.drop(np.na

python - 在 pandas DataFrame 中的任何位置搜索值

这似乎是一个简单的问题,但我之前找不到它(this和this很接近,但答案不是很好)。问题是:如果我想在我的df中搜索一个值某处(我不知道它在哪一列)并返回匹配的所有行。最Pandaic的方法是什么?有什么比:forcolinlist(df):try:df[col]==varreturndf[df[col]==var]exceptTypeError:continue? 最佳答案 可以对整个DataFrame进行相等比较:df[df.eq(var1).any(1)] 关于python-在p

python - pandas.read_feather 得到了一个意想不到的参数 nthreads

我尝试将数据帧保存为羽化格式,但在加载时出现错误os.makedirs('tmp',exist_ok=True)df_hist.to_feather('tmp/historical-raw')这是加载回数据集df_hist=pd.read_feather('tmp/historical-raw')出现以下错误read_feather()gotanunexpectedkeywordargument'nthreads'提前致谢 最佳答案 尝试替换下面的行df_hist=pd.read_feather('tmp/historical-ra

【pandas小技巧】--DataFrame的显示参数

我们在jupyternotebook中使用pandas显示DataFrame的数据时,由于屏幕大小,或者数据量大小的原因,常常会觉得显示出来的表格不是特别符合预期。这时,就需要调整pandas显示DataFrame的方式。pandas为我们提供了很多调整显示方式的参数,具体参见文末附录中的链接。本篇介绍几个我经常用到的参数来抛砖引玉。1.参数的相关函数对于参数的控制,pandas提供了完整的方法。describe_option:获取参数的描述信息get_option:获取参数的值set_option:设置参数的值reset_option:重置参数的值,也就是将参数恢复到默认值以max_colu

python - 比较 Pandas Dataframe 行和删除具有重叠日期的行

我有一个数据框,其中包含从交易策略中获取的交易。交易策略中的逻辑需要更新,以确保如果策略已经在交易中则不会进行交易——但这是一个不同的问题。许多先前交易的交易数据从csv文件读入数据框。这是我的数据问题:我需要对数据帧进行逐行比较,以确定rowX的Entrydate是否小于ExitDaterowX-1。我的数据样本:Row1:EntryDateExitDate2012-07-252012-07-27Row2:EntryDateExitDate2012-07-262012-07-29第2行需要删除,因为这是不应该发生的交易。我无法确定哪些行是重复的,然后删除它们。我尝试了approach

python - Pandas Dataframe 添加标题而不替换当前标题

如何在不替换当前标题的情况下向DF添加标题?换句话说,我只想将当前header向下移动并将其作为另一条记录添加到数据框中。*次要问题:如何将表(示例数据框)添加到stackoverflow问题?我有这个(注意标题以及它是如何作为一行添加的:0.2132310.3145440-0.952928-0.6246461-1.020950-0.883333我需要这个(所有其他记录都向下移动并添加一个新记录)(另外:我无法正确读取csv,因为我正在使用s3_text_adapter进行导入,而且我无法弄清楚如何使用类似于pandasread_csv的忽略header的参数):AB00.213231

python - 如何在 Pandas 中将 argmin 与 groupby 一起使用

假设我有一个像这样的pandas数据框:catval0a11a62a123b24b55b116c47c22而且我想知道,对于每个类别('cat'的每个值),值最接近给定值的位置是什么,比如5.5。我可以减去我的目标值并取绝对值,给我这样的东西:catvalval_delt0a14.51a60.52a126.53b23.54b50.55b115.56c41.57c2216.5但我不知道下一步该去哪里。我的第一个想法是将argmin()与groupby()结合使用,但这会产生错误:In[375]:df.groupby('cat').val_delt.argmin()------------

python - Pandas DataFrame 列连接

我有一个包含100万行和5列的pandasDataframey。np.shape(y)(1037889,5)列值都是0或1。看起来像这样:y.head()a,b,c,d,e0,0,1,0,01,0,0,1,10,1,1,1,10,0,0,0,0我想要一个包含100万行和1列的Dataframe。np.shape(y)(1037889,)其中列只是连接在一起的5列。Newcolumn0,0,1,0,01,0,0,1,10,1,1,1,10,0,0,0,0我一直在尝试不同的东西,比如merge、concat、dstack等等...但似乎无法弄清楚。 最佳答案

python - Pandas 比 numpy 慢得多?

下面的代码表明pandas可能比numpy慢得多,至少在函数clip()的特定情况下是这样。令人惊讶的是,从pandas到numpy再回到pandas的往返,同时在numpy中执行计算,仍然比在pandas中快得多。pandas的功能不应该用这种迂回的方式实现吗?In[49]:arr=np.random.randn(1000,1000)In[50]:df=pd.DataFrame(arr)In[51]:%timeitnp.clip(arr,0,None)100loops,bestof3:8.18msperloopIn[52]:%timeitdf.clip_lower(0)1loops,

python - Pandas:打印一系列的名称和值

当我使用时:w=y.groupby['A'].size()它给了我列A的列值,然后是它旁边的分组的大小。使用w(aSeries),如何分别打印分组的名称?可以通过以下方式获取分组的值:foriinw:print(i)但我不知道如何获取这些名称。 最佳答案 您可以使用iteritems()迭代系列In[100]:forindex,valinw.iteritems():.....:printindex,val.....:其中,index有列名,val值/大小 关于python-Pandas: