我曾经使用较早的Pandas版本(0.22,py2)以特定的方式转置一个表.最近,我有一些时间开始将整个脚本移动到Pandas 2/py3,我注意到它在df.replace()
停止工作,抛出ValueError
输入df
如下所示:
Fruit Vegetable Sour_taste
Apple 1.0 NaN 1.0
Lemon 1.0 NaN 1.0
Potato NaN 1.0 NaN
我希望它看起来是这样的:
Apple Fruit,Sour_taste
Lemon Fruit,Sour_taste
Potato Vegetable
我曾经在Pandas 0.22/py2中这样 retrofit 过这张表:
df = df.apply(lambda column: column.replace(to_replace = column.loc[column > 0], value = column.name), axis = 0)
df["merged"] = df.apply(lambda row: ",".join(row.dropna().astype(str)), axis=1)
df = df[["merged"]].reset_index()
但是pandas2/py3中的第一行代码的结果是:
ValueError: Series.replace cannot use dict-like to_replace and non-None value
我既不理解错误消息,也不理解为什么会发生这种情况.