Pandas将计数表转换为发生表

时间:2018-02-02 16:39:20

标签: python pandas dataframe pyspark

我有以下DataFrame

userId      food     ate
    10      apple    2
    10      banana   1
    25      apple    0
    30      pear     3

我想把它转换成这个

userId      apple   banana  pear
    10      2       1       Nan
    25      0       Nan     Nan
    30      Nan     Nan     30

我知道如果我使用pandas我可以这样做

new_df["apple"] = df.apply(lambda x: x["ate"] if x["food"] == "apple" else np.nan, axis=1)

但这不会有效率,特别是如果我需要这样做,比方说,几千种不同类型的食物。

您知道更高效的版本(使用pandas还是pyspark)?

0 个答案:

没有答案