我有以下2个 Dataframe ,我想应用类似的条件,并返回pysark Dataframe 中的值。
df1.show网址:)
+---+-------+--------+
|id |tr_type|nominal |
+---+-------+--------+
|1 |K |2.0 |
|2 |ZW |7.0 |
|3 |V |12.5 |
|4 |VW |9.0 |
|5 |CI |5.0 |
+---+-------+--------+
一维Map:* 缩写
+-------+------------+------------+-----------+
|odm_id |return_value|odm_relation|input_value|
+-------+------------+------------+-----------+
|abcefgh|B |EQ |K |
|abcefgh|B |EQ |ZW |
|abcefgh|S |EQ |V |
|abcefgh|S |EQ |VW |
|abcefgh|I |EQ |CI |
+-------+------------+------------+-----------+
我需要应用以下条件当有卖出交易时,名义成交量被否定。
如果(tr_type,$abcefgh.)== 'S',则:标称= -标称;
预期输出:
+---+-------+-------+-----------+
|id |tr_type|nominal|nominal_new|
+---+-------+-------+-----------+
|1 |K |2.0 |2.0 |
|2 |ZW |7.0 |7.0 |
|3 |V |12.5 |-12.5 |
|4 |VW |9.0 |-9.0 |
|5 |CI |5.0 |5.0 |
+---+-------+-------+-----------+
1条答案
按热度按时间hkmswyz61#
您可以对
tr_type == input_value
上的2个 Dataframe 执行join
操作,并使用when().otherwise()
创建新列。请参阅下面使用您的示例的示例