以下代码适用于pandas 0.20.0但不适用于0.20.3:
import pandas as pd from pyspark.ml.linalg import Vectors df = pd.DataFrame({'A': [1,2,3,4], 'B': [1,2,3,4], 'C': [1,2,3,4], 'D': [1,2,3,4]}, index=[0, 1, 2, 3]) df.apply(lambda x: pd.Series(Vectors.dense([x["A"], x["B"]])), axis=1)
这是从pandas 0.20.0产生的:
0 0 [1.0, 1.0] 1 [2.0, 2.0] 2 [3.0, 3.0] 3 [4.0, 4.0]
但是在pandas 0.20.3中有所不同:
0 1 0 1.0 1.0 1 2.0 2.0 2 3.0 3.0 3 4.0 4.0
如何在0.20.3中实现第一个行为?