在Python中修改数据帧

2024-10-06 07:39:05 发布

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

我想将df1中的原始数据修改为df2

import pandas as pd

df1=pd.DataFrame([["20180105","abcdefg"],["","sdasdas"],["20180211","asdasfsd"],["","asdfg"],["","sdada"]],columns=["A","B"])

df2=pd.DataFrame([["20180105","abcdefgsdasdas"],["20180211","asdasfsdasdfgsdada"]],columns=["A","B"])

enter image description here


Tags: columnsimportdataframepandas原始数据aspddf1
2条回答

也可以使用agg+''.join

g = (df1.A != '').cumsum()
df1.groupby(g, as_index=False).agg(''.join)

    A           B 
0   20180105    abcdefgsdasdas
1   20180211    asdasfsdasdfgsdada

您可以groupby,并使用sum进行字符串连接:

df1.replace({'A':{'':np.nan}}).ffill().groupby('A', as_index=False).sum() 

          A                   B
0  20180105      abcdefgsdasdas
1  20180211  asdasfsdasdfgsdada

注意我去掉了列A中的空白字符串,用NaN替换,然后用ffill()向前填充

相关问题 更多 >