我已经通过Excel完成了此任务,但是花了很长时间才能运行300,000行数据,所以我希望可以使用python更快地完成它。
我所拥有的类似于以下数据框
PartID Notes
0 1 Fiv
1 2 Six
2 3 Pot
3 4 Lep
4 Date is New
问题是给我一个文件,其中PartID包含字符串,因此索引4具有“日期是”,该文件应该在“注释”部分中。在Excel中,我所做的是使用值函数将所有内容都更改为值,以便当文本更改为空时,数字变为值。然后,我使用一个宏说出下面的行是否为空,然后将数据追加到上面一行的Notes列中,输出看起来像下面的
PartID Notes
0 1 Fiv
1 2 Six
2 3 Pot
3 4 Lep Date is
4 5 New
有没有办法在Python中使用熊猫做同样的事情?
谢谢!
答案 0 :(得分:0)
我认为您需要pd.to_numeric和pd.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