然后,循环遍历列的每一行,并将字符串附加到上一列的下一行

2024-06-10 01:05:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经通过Excel完成了这项任务,但是在运行300000行数据时花了很长时间,所以我希望使用python可以更快地完成这项任务。你知道吗

我得到的是如下的数据框

               PartID   Notes   
0                 1       Fiv  
1                 2       Six  
2                 3       Pot  
3                 4       Lep  
4           Date is       New      

问题是我得到了一个PartID中有字符串的文件,所以索引4有'Date is',应该在Notes部分。在Excel中,我所做的是使用value函数将所有内容更改为值,这样数字就变成了值,而文本就变成了空的。然后我用一个宏来说明下面的行是否为空,然后将数据附加到上面行的Notes列中,输出如下所示

               PartID  Notes      
0                 1      Fiv     
1                 2      Six     
2                 3      Pot     
3                 4 Lep Date is  
4                 5      New     

在Python中有没有一种方法可以使用pandas做同样的事情?你知道吗

谢谢!你知道吗


Tags: 文件数据字符串newdateisvalueexcel
1条回答
网友
1楼 · 发布于 2024-06-10 01:05:11

我想你需要,pd.to_numericpd.Series.shift

a=df['PartID'].shift(-1).fillna('')

b=df['Notes']+a.loc[pd.to_numeric(a,errors='coerce').isnull()]

df['Notes']=b.combine_first(df['Notes'])

df['PartID']=np.arange(1,len(df['Notes'])+1)
print(df)
PartID  Notes      
    1      Fiv     
    2      Six     
    3      Pot     
    4     Lep Date is  
    5      New     

相关问题 更多 >