对于object
数据,我可以将两列映射到第三object
列()元组
>>> import pandas as pd
>>> df = pd.DataFrame([["A","b"], ["A", "a"],["B","b"]])
>>> df
0 1
0 A b
1 A a
2 B b
>>> df.apply(lambda row: (row[0], row[1]), axis=1)
0 (A, b)
1 (A, a)
2 (B, b)
dtype: object
(另请参阅Pandas:如何对多个列使用应用函数)。
但是,当我尝试对数字列做同样的事情时
>>> df2 = pd.DataFrame([[10,2], [10, 1],[20,2]])
df2.apply(lambda row: (row[0], row[1]), axis=1)
0 1
0 10 2
1 10 1
2 20 2
所以而不是一系列对(即[(10,2), (10,1), (20,2)]
)我得到一个DataFrame
.
我怎样才能强制pandas
实际获得一系列对?(最好比转换为字符串然后解析更好。)