我有一个很大的pyspark.sql.dataframe.DataFrame,我想保留(所以filter)列中保存的URL location包含预定字符串的所有行,例如'google.com'.
我试过了,df.filter(sf.col('location').contains('google.com')
但这会抛出一个
TypeError: _TypeError: 'Column' object is not callable'
Run Code Online (Sandbox Code Playgroud)
我该如何绕过并正确过滤我的df?提前谢谢了!
我正在努力研究一个数据框,它列出了大量具有多个过滤级别的数据,如果这有意义的话.所以我的数据现在按字母顺序按州名排序.第二个过滤级别适用于每个县的人口数据.我用过的过滤是df.sort_values().我现在需要提取每个州最高的三个人口县数,我不知道如何追求这个.
所以我的数据看起来像这样(我在这里省略了行索引):
State County Population
Alabama a 100
Alabama b 50
Alabama c 40
Alabama d 5
Alabama e 1
...
Wyoming a.51 180
Wyoming b.51 150
Wyoming c.51 56
Wyoming d.51 5
Run Code Online (Sandbox Code Playgroud)
现在我想从我的数据框架中获得每个州最高人口的县.我没有和熊猫一起工作,我最初的猜测是做一个.这样的事情(显然是错误的):
list_l = []
for i in df['State'].unique(): #Get a series with every unique state listed once
list_l.append(df[(df['State'] == i])).nlargest(3)
return list_l
Run Code Online (Sandbox Code Playgroud)
即使在打字时我知道它并不完全有意义,但我不确定如何更好地解释它.希望有人能提供帮助.
干杯
我有一个pyspark数据框,其中一列填充列表,包含条目或只是空列表.我想有效地过滤掉包含空列表的所有行.
filter 返回以下错误:
import pyspark.sql.functions as sf
df.filter(sf.col('column_with_lists') != [])
Run Code Online (Sandbox Code Playgroud)
也许我可以检查列表的长度并强加它应该> 0(见这里).但是,如果我使用pyspark-sql并且filter甚至允许使用lambda ,我不确定这种语法是如何工作的.
也许要说清楚,我有多列,但想要在一个列上应用上面的过滤器,删除所有条目.链接的SO示例在单个列上进行过滤.
提前致谢!