我正在尝试筛选将< code>None作为行值的PySpark数据帧:
df.select('dt_mvmt').distinct().collect()
[Row(dt_mvmt=u'2016-03-27'),
Row(dt_mvmt=u'2016-03-28'),
Row(dt_mvmt=u'2016-03-29'),
Row(dt_mvmt=None),
Row(dt_mvmt=u'2016-03-30'),
Row(dt_mvmt=u'2016-03-31')]
我可以使用字符串值正确过滤:
df[df.dt_mvmt == '2016-03-31']
# some results here
但这失败了:
df[df.dt_mvmt == None].count()
0
df[df.dt_mvmt != None].count()
0
但是每一类都有明确的价值。这是怎么回事?
要获得dt_mvmt
列中的值不为空的条目,我们有
df.filter("dt_mvmt is not NULL")
对于空条目,我们有
df.filter("dt_mvmt is NULL")
尝试只使用isNotNull函数。
df.filter(df.dt_mvmt.isNotNull()).count()
可以使用< code > column . is null /< code > column . is not null :
df.where(col("dt_mvmt").isNull())
df.where(col("dt_mvmt").isNotNull())
如果您想简单地删除<code>NULL<code>值,可以使用<code>na。使用子集
参数删除:
df.na.drop(subset=["dt_mvmt"])
与<code>NULL:
sqlContext.sql("SELECT NULL = NULL").show()
## +-------------+
## |(NULL = NULL)|
## +-------------+
## | null|
## +-------------+
sqlContext.sql("SELECT NULL != NULL").show()
## +-------------------+
## |(NOT (NULL = NULL))|
## +-------------------+
## | null|
## +-------------------+
将值与NULL
进行比较的唯一有效方法是is
/is NOT
,这相当于isNull
/isNotNull
方法调用。
有一个数据帧: 以及熊猫系列: 如何创建包含c1在list1中的行的新数据帧。 输出:
我在Python中使用一个视频游戏的熊猫DataFrame,每个游戏都有一种类型。我正在尝试删除任何在DataFrame中出现次数少于一定次数的类型的视频游戏,但我不知道该怎么做。我确实发现了一个StackOverflow问题,这个问题似乎是相关的,但我根本无法破译这个解决方案(可能是因为我从未听说过R,而且我对函数编程的记忆充其量也很生疏)。 帮助?
我刚刚过滤了一些数据,现在我有一个。csv文件,但我注意到我只需要选择具有最低价格的行: 例子: 在这个例子中,我只想得到第三行和第六行: 使用python,如何获得最终的表?
若要用单个列过滤数据文件(DF),如果我们考虑有男性和女性的数据,我们可以: 问题1——但如果数据跨越多年,而我只想看到2014年的男性会怎样? 在其他语言中,我可能会这样做: (除非我想这样做并在新的dataframe对象中获取原始dataframe的子集) 问题2。我如何在一个循环中实现这一点,并为每个独特的年份和性别集(即:2013年男性、2013年女性、2014年男性和2014年女性)创建
我有一个关于熊猫以及正确索引和替换值的问题。 我有两个数据帧,df1和df2,具有相同的列(Col1、Col2、Col3和Col4)。 在df1中,我想用另一个值(比如100)替换与df2中其他列(Col1、Col2和Col3)的值匹配的行中Col4中的值。 生成的df1看起来像这样: 我试过这样的方法: 但是我得到了错误,我不确定这是否达到了我想要的。
使用pyspark数据帧,你如何做相当于熊猫 我想列出pyspark数据框列中的所有唯一值。 不是 SQL 类型方式(注册模板,然后 SQL 查询不同的值)。 此外,我不需要< code>groupby然后< code>countDistinct,而是希望检查该列中的不同值。