合并pandas数据帧中的行

时间:2017-08-23 21:17:27

标签: python pandas

我有数据框

outputDF = myDF.select(F.collect_set("value")).alias("my_values").where(col("ID").isin(['d','f']))

无论如何将它组合成这样:

Date         CUSIP   Asset   Liability
01-01-1990     A       1        NaN
01-01-1990     A      Nan        2
02-01-1990     A       3         2
01-01-1990     B      Nan        2
01-01-1990     B       1         2

我提出的方法是使用groupby([" CUSIP",Date])。agg(function)

我在其中应用max(nan,3)= 3的函数。

有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

>>> df.groupby(['Date', 'CUSIP']).apply(lambda group: group.ffill().bfill()).drop_duplicates()
         Date CUSIP Asset  Liability
0  01-01-1990     A     1          2
2  02-01-1990     A     3          2
3  01-01-1990     B     1          2