sus*_*san 1 python dataframe apache-spark pyspark
我spark.read.csv()在 pyspark 中得到了一个数据框。我可以使用df.filter(df['mobile'] == 'Vivo'). 现在,我想按多个值过滤“移动”列。
例如,我有一个band_list=['Apple','Samsung','Vivo'],
我想过滤'mobile'此 band_list 中的值。
我知道一种方法是df.filter((df['mobile'] == 'Apple') | (df['mobile'] == 'Samsung')|(df['mobile'] == 'Vivo')),但它不灵活。
有人可以告诉我解决这个问题的另一种方法吗?
你可以使用isin:
df = spark.createDataFrame(['abc123','Apple','Samsung','ZXC321','Vivo'],"string")
band_list=['Apple','Samsung','Vivo']
df.filter(df.value.isin(band_list)).show()
+-------+
| value|
+-------+
| Apple|
|Samsung|
| Vivo|
+-------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3429 次 |
| 最近记录: |