我想找到包含字符串的行,如下所示:
DF[DF.col.str.contains("foo")]
Run Code Online (Sandbox Code Playgroud)
但是,这会失败,因为有些元素是NaN:
ValueError:无法使用包含NA/NaN值的向量进行索引
所以我诉诸混淆
DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")]
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
如何get_dummies
在多个DataFrame列上以惯用方式运行一个函数,它需要单个列并返回多个列?
我试过dtype
用read_csv
as 传递参数dtype={n: pandas.Categorical}
但是这不能正常工作(结果是一个Object).手册不清楚.
是否可以使用类似于generate_n
创建const vector
随机数字的东西?如果没有vector
在构造函数中派生和执行赋值,我无法想到这样做的方法.
为什么我不能使用像这样的元组索引列表索引ndarray?
idx = [(x1, y1), ... (xn, yn)]
X[idx]
Run Code Online (Sandbox Code Playgroud)
相反,我必须做一些笨拙的事情
idx2 = numpy.array(idx)
X[idx2[:, 0], idx2[:, 1]] # or more generally:
X[tuple(numpy.vsplit(idx2.T, 1)[0])]
Run Code Online (Sandbox Code Playgroud)
有更简单,更pythonic的方式吗?
我在Scala中使用Spark,我的聚合列是匿名的.有没有一种方便的方法来重命名数据集中的多个列?我想到了征收模式与as
更关键的列是一个结构(由于groupBy
操作),我不能找出如何定义case class
与StructType
它.
我尝试按如下方式定义模式:
val returnSchema = StructType(StructField("edge", StructType(StructField("src", IntegerType, true),
StructField("dst", IntegerType), true)),
StructField("count", LongType, true))
edge_count.as[returnSchema]
Run Code Online (Sandbox Code Playgroud)
但是我遇到了编译错误:
Message: <console>:74: error: overloaded method value apply with alternatives:
(fields: Array[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType <and>
(fields: java.util.List[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType <and>
(fields: Seq[org.apache.spark.sql.types.StructField])org.apache.spark.sql.types.StructType
cannot be applied to (org.apache.spark.sql.types.StructField, org.apache.spark.sql.types.StructField, Boolean)
val returnSchema = StructType(StructField("edge", StructType(StructField("src", IntegerType, true),
Run Code Online (Sandbox Code Playgroud) 我正在尝试将"FreeSec"列的值设置True
为我的pandas数据帧的已过滤行.这是代码:
data[data["Brand"].isin(group_clients)].FreeSec = True
Run Code Online (Sandbox Code Playgroud)
但是,当我检查它们仍然设置为的值时False
.
>>> data[data["Brand"].isin(group_clients)].FreeSec
12 False
163 False
164 False
165 False
166 False
167 False
168 False
169 False
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
在pandas 0.14中,sum(DF)
返回标题的总和,而不是条目的总和.因此,例如:
>df = pandas.DataFrame([1,2,3])
>print(df)
0
0 1
1 2
2 3
>sum(df)
0
Run Code Online (Sandbox Code Playgroud)
有逻辑原因,这是一个用例吗?
检查Hive中是否可以执行此操作:
Select a.col1,b.col1
from tableA a join tableB b on a.col1 = b.col1
lateral view explode(numcred) tableA as creds
where creds.id = 9;
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到答案.简而言之:
我想加入两张桌子和LATERAL VIEW EXPLODE TABLEA
看起来很简单,但会引发语法问题.