小编K. *_* K.的帖子

DataFrame 列的笛卡尔积并将新创建的行设置为 0 在 Python 中

假设一个 DataFrame 的形式为:

   column1  column2  is_duplicate
0   xyz      XYZ         1
1   xyz      XyZ         1
2   abc      ABC         1
3   abc      aBc         1
Run Code Online (Sandbox Code Playgroud)

如何执行笛卡尔积column1column2使得新创建的行的值为 0,而原始行的列中仍为 1 is_duplicate

输出后的预期数据帧:

   column1  column2  is_duplicate
0   xyz      XYZ         1
1   xyz      XyZ         1
2   xyz      ABC         0
3   xyz      aBc         0
4   abc      XYZ         0
5   abc      XyZ         0
6   abc      ABC         1
7   abc      aBc         1
Run Code Online (Sandbox Code Playgroud)

python cartesian-product dataframe

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

如何在Python中将3D numpy数组转换为3D稀疏矩阵?

我有一个 3D NumPy 数组,我想将其转换为 Python 中的 3D 稀疏矩阵。我查找了scipy.sparse模块,只找到了二维稀疏矩阵实现。例如,

输入:

array([[[0],
        [0],
        [1],
        [0],
        [1],
        [0],
        [0]],
       [[1],
        [0],
        [1],
        [0],
        [0],
        [0],
        [0]]])
Run Code Online (Sandbox Code Playgroud)

输出:

(0,0,2) 1
(0,0,4) 1
(0,1,0) 1
(0,1,2) 1
Run Code Online (Sandbox Code Playgroud)

怎么办呢?

python numpy scipy

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

如何在Keras Python中合并多个顺序模型?

我正在建立一个具有多个顺序模型的模型,在训练数据集之前我需要将这些模型合并。keras.engine.topology.MergeKeras 2.0 似乎不再支持它。我尝试了keras.layers.Addkeras.layers.Concatenate但效果不佳。

这是我的代码:

model = Sequential()

model1 = Sequential()
model1.add(Embedding(len(word_index) + 1, 300, weights = [embedding_matrix], input_length = 40, trainable = False))
model1.add(TimeDistributed(Dense(300, activation = 'relu')))
model1.add(Lambda(lambda x: K.sum(x, axis = 1), output_shape = (300, )))

model2 = Sequential()
###Same as model1###

model3 = Sequential()
model3.add(Embedding(len(word_index) + 1, 300, weights = [embedding_matrix], input_length = 40, trainable = False))
model3.add(Convolution1D(nb_filter = nb_filter, filter_length = filter_length, border_mode = 'valid', activation = 'relu', subsample_length = 1)) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras keras-layer

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

如何在Python中使用另一个数据框引用pandas数据帧?

我有在Python 2个dataframes - df_itemdf_bill,如下图所示:

df_item:

item_id   item_name
2         Noodles
3         Vegetables
4         Dairy Products
5         Ice Cream

df_bill:

bill_no   item_id
201       3
202       2
203       4
204       3
205       5
Run Code Online (Sandbox Code Playgroud)

排的item_iddf_item充当每行的主键.我如何引用df_itemdf_bill的,这样的方式item_iddf_bill被转换成item_name

预期产出:

df_bill:

bill_no  item_name
201      Vegetables
202      Noodles
203      Dairy Products
204      Vegetables
205      Ice Cream
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
709
查看次数

如何在 Python 中使用 OpenCV 裁剪图像的黑色背景?

所以我手头有一个图像处理任务,需要我裁剪图像的某个部分。我之前没有 OpenCV 的经验。我想知道我应该去哪里的某种方法。

示例输入图像: 在此处输入图片说明

示例输出图像: 在此处输入图片说明

我最初的想法是将图像转换为位图并删除低于或高于某个阈值的像素。由于我可以自由使用 OpenCV 和 Python,因此我想知道任何可以这样做的自动化算法,如果没有,那么解决此类问题的正确方法是什么。谢谢你。

python opencv image-processing

4
推荐指数
1
解决办法
6070
查看次数

在 Pandas UDF PySpark 中传递多列

我想计算 PySpark DataFrame 的两列之间的 Jaro Winkler 距离。Jaro Winkler 距离可通过所有节点上的 pyjarowinkler 包获得。

pyjarowinkler 的工作原理如下:

from pyjarowinkler import distance
distance.get_jaro_distance("A", "A", winkler=True, scaling=0.1)
Run Code Online (Sandbox Code Playgroud)

输出:

1.0
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个 Pandas UDF 以将两列作为系列传递并使用 lambda 函数计算距离。这是我的做法:

@pandas_udf("float", PandasUDFType.SCALAR)
def get_distance(col1, col2):
    import pandas as pd
    distance_df  = pd.DataFrame({'column_A': col1, 'column_B': col2})
    distance_df['distance'] = distance_df.apply(lambda x: distance.get_jaro_distance(str(distance_df['column_A']), str(distance_df['column_B']), winkler = True, scaling = 0.1))
    return distance_df['distance']

temp = temp.withColumn('jaro_distance', get_distance(temp.x, temp.x))
Run Code Online (Sandbox Code Playgroud)

我应该能够在上述函数中传递任意两个字符串列。我得到以下输出:

+---+---+---+-------------+
|  x|  y|  z|jaro_distance|
+---+---+---+-------------+
|  A|  1|  2|         null|
|  B|  3|  4|         null| …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas apache-spark pyspark

4
推荐指数
1
解决办法
3812
查看次数