如何使用Pandas添加python中未列出的数据帧循环组合
如何将不在列表“a”中的组合添加到数据框行 我想使用如何使用Pandas添加python中未列出的数据帧循环组合,python,pandas,Python,Pandas,如何将不在列表“a”中的组合添加到数据框行 我想使用contains()或isin() 预期结果 不存在的列表将使用默认值0填充值的平均值 a = [["a1","b1"],["a2","b2"],["a3","b3"],["a4","b4"],["a5","b5"]] df = pd.DataFrame({'A' : ["a1","a2","a3","a4"], 'B' : ["b1","b2","b3", "b4"] , 'mean' : ["13.4","12,1","10.0","11
contains()
或isin()
预期结果
不存在的列表将使用默认值0填充值的平均值
a = [["a1","b1"],["a2","b2"],["a3","b3"],["a4","b4"],["a5","b5"]]
df = pd.DataFrame({'A' : ["a1","a2","a3","a4"], 'B' : ["b1","b2","b3", "b4"] , 'mean' : ["13.4","12,1","10.0","11.5"]})
创建
DataFrame
构造函数并转换为原始值,然后通过指定列删除重复项,最后通过fillna
替换缺少的值:
pd.DataFrame({'A' : ["a1","a2","a3","a4","a5"], B' : ["b1","b2","b3", "b4","b5"] ,'mean' : ["13.4","12,1","10.0","11.5", "0"]})
与合并的另一个想法是:
a = [["a1","b1"],["a2","b2"],["a3","b3"],["a4","b4"],["a5","b5"]]
df1 = df.append(pd.DataFrame(a,columns=['A','B'])).drop_duplicates(subset=['A','B']).fillna(0)
print (df1)
A B mean
0 a1 b1 13.4
1 a2 b2 12,1
2 a3 b3 10.0
3 a4 b4 11.5
4 a5 b5 0
df1 = pd.DataFrame(a, columns=['A','B']).merge(df, how='left').fillna(0)