小编LN_*_*N_P的帖子

Pyspark:如果列包含来自另一列的字符串(SQL LIKE 语句),则过滤数据框

我正在尝试按以下方式过滤我的 pyspark 数据框:我有一列long_text包含数字,一列包含数字。如果长文本包含number我想保留该列。我正在尝试使用 SQLLIKE语句,但似乎无法将其应用于另一列(此处number)我的代码如下:

from pyspark.sql.functions import regexp_extract, col, concat, lit
from pyspark.sql.types import *
PN_in_NC = (df
        .filter(df.long_text.like(concat(lit("%"), df.number, lit("%"))))))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: Method like([class org.apache.spark.sql.Column]) does not exist

我尝试了多种方法来修复它(例如'%number%'在过滤器之前将字符串创建为列,而不是使用lit, using '%' + number + '%')但没有任何效果。如果LIKE不能应用于另一列,是否有其他方法可以做到这一点?

python sql-like apache-spark pyspark

7
推荐指数
1
解决办法
2万
查看次数

将函数应用于数组列 pyspark 中的所有值

我想将 pyspark 数据框中的数组列中的所有值设为负数,而不会爆炸(!)。我尝试了这个 udf 但它不起作用:

negative = func.udf(lambda x: x * -1, T.ArrayType(T.FloatType()))
cast_contracts = cast_contracts \
    .withColumn('forecast_values', negative('forecast_values'))
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

数据框示例:

df = sc..parallelize(
   [Row(name='Joe', forecast_values=[1.0,2.0,3.0]),
    Row(name='Mary', forecast_values=[4.0,7.1])]).toDF()
>>> df.show()
    +----+---------------+
    |name|forecast_values|
    +----+---------------+
    | Joe|[1.0, 2.0, 3.0]|
    |Mary|     [4.0, 7.1]|
    +----+---------------+
Run Code Online (Sandbox Code Playgroud)

谢谢

arrays user-defined-functions apache-spark pyspark

7
推荐指数
2
解决办法
1万
查看次数

Pandas df 到 csv 插入空行

我有一个 pandas 数据框“数据”,我想将其导出为 csv。它工作正常,但有些线路完全混乱。我使用: data.to_csv('data.csv')

我尝试更改编码并删除索引,但它不起作用。第一张图片是正确的行,第二张图片是混乱的行。当查看混乱的行时,我发现问题可能是文本数据使用分隔符 \r 来分隔行并且导出不正确。我怎样才能解决这个问题?

正确的行是什么样子的

不正确的行是什么样的

谢谢!

python csv export-to-csv pandas

5
推荐指数
1
解决办法
5699
查看次数

最重要的特征高斯朴素贝叶斯分类器python sklearn

我正在尝试为我的GaussianNB模型获得最重要的功能。这里的代码如何获得scikit-learn分类器的大多数信息功能? 还是在这里如何获得scikit-learn分类器针对不同类别的大多数信息功能?仅在我使用MultinomialNB时有效。否则,如何为我的两个类(故障= 1或故障= 0)中的每一个计算或检索最重要的特征?我的代码是:(不适用于文本数据)

df = df.toPandas()

X = X_df.values
Y = df['FAULT'].values.reshape(-1,1)


gnb = GaussianNB() 
y_pred = gnb.fit(X, Y).predict(X)

print(confusion_matrix(Y, y_pred))
print(accuracy_score(Y, y_pred))
Run Code Online (Sandbox Code Playgroud)

其中X_df是一个数据框,其中包含我的每个功能的二进制列。

python classification feature-selection scikit-learn naivebayes

5
推荐指数
1
解决办法
1127
查看次数

集群之间的距离kmeans sklearn python

我正在使用sklearn的k均值聚类对数据进行聚类。现在,我想知道群集之间的距离,但是找不到。我可以计算每个质心之间的距离,但想知道是否有一个函数可以获取它,以及是否有一种方法可以获取每个聚类之间的最小/最大/平均链接距离。我的代码很简单:

km = KMeans(n_clusters = 5, random_state = 1)
km.fit(X_tfidf )

clusterkm = km.cluster_centers_

clusters = km.labels_.tolist()
Run Code Online (Sandbox Code Playgroud)

谢谢!

python distance k-means scikit-learn

2
推荐指数
1
解决办法
2772
查看次数

删除列 psypark 数据框中的前 n 个字符

我正在尝试为 pyspark 数据框中的每一行删除一列中的前两个字符。以下字符的长度不同,因此我无法使用substring的解决方案。

示例数据框:

columns = ['text']
vals = [(h0123),(b012345), (xx567)]
Run Code Online (Sandbox Code Playgroud)

编辑 实际上问题变得更加复杂,因为有时我有一个字母和两个零作为第一个字符,然后需要删除两个 0。

例子:

columns = ['text']
vals = [(h0123),(b012345), (x00567), (L0034)]
Run Code Online (Sandbox Code Playgroud)

预期结果:

(123),(12345), (567), (34)
Run Code Online (Sandbox Code Playgroud)

substring slice apache-spark pyspark

2
推荐指数
1
解决办法
3424
查看次数