【发布时间】:2017-09-08 15:33:40
【问题描述】:
我有一个数据框
import pandas as pd
ndf = pd.DataFrame({'a':[False, False,True,True,False], 'b':[False, False,False,False, True]})
ndf_s = sqlContext.createDataFrame(ndf)
我想获得一个名为“action”的新列。这可能包含两个值,如果 ndf['a'] 为 True,则“action”的值为“I am a”,如果 ndf['b'] 为 True,则“action”的值为“I am b” .否则获取值无。如果两列都为真,则返回值为“我是 a 和 b”。换句话说,我想得到一个 DataFrame:
ndf_result = sqlContext.createDataFrame(pd.DataFrame({'a':[False, False,True,True,False], 'b':[False, False,False,False, True], 'action':[None, None, 'I am a', 'I am a', 'I am b']}))
【问题讨论】:
-
这两列有没有可能都是真的?
-
可能,在这种情况下,将“动作”发送给“我是a和b”
标签: python pyspark spark-dataframe user-defined-functions