对于每个订单不重复客户名称(名称)且某些订单没有客户名称的订单数据集。例子:
我怎样才能让这个名字被重复:
我想知道是否仍然可以使用ffill()
,条件是订单id应该相同
发布于 2021-01-05 11:02:32
尝试:
df=pd.DataFrame({'order id':['A1','A1','A2','A3'],'Name':['Adam',np.nan,np.nan,'su']})
df['Name']=df['Name'].groupby(df['order id']).fillna(method='ffill')
df
Out[28]:
order id Name
0 A1 Adam
1 A1 Adam
2 A2 NaN
3 A3 su
发布于 2021-01-05 11:04:24
你必须使用groupby然后填充。如果只想在"Name“列上应用fill操作,则应该如下所示:
import pandas as pd
import numpy as np
data = {"order_id": [1,1,2,3], "name":["adam", np.nan, np.nan, "Su"],"total": [15,np.nan, 5, 10]}
df = pd.DataFrame(data)
df["name"] = df.groupby("order_id")["name"].fillna(method='ffill')
发布于 2021-01-05 11:06:09
你可以用这个
DataFrame.fillna(method="ffill", axis=1, limit=1)
https://stackoverflow.com/questions/65577371
复制相似问题