小编Aka*_*mar的帖子

环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON

我最近安装了pyspark。它已正确安装。当我在python中使用以下简单程序时,出现错误。

>>from pyspark import SparkContext
>>sc = SparkContext()
>>data = range(1,1000)
>>rdd = sc.parallelize(data)
>>rdd.collect()
Run Code Online (Sandbox Code Playgroud)

在运行最后一行时,出现错误,其关键行似乎是

[Stage 0:>                                                          (0 + 0) / 4]18/01/15 14:36:32 ERROR Executor: Exception in task 1.0 in stage 0.0 (TID 1)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pyspark/python/lib/pyspark.zip/pyspark/worker.py", line 123, in main
    ("%d.%d" % sys.version_info[:2], version))
Exception: Python in worker has different version 2.7 than that in driver 3.5, PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set. …
Run Code Online (Sandbox Code Playgroud)

python python-3.x apache-spark pyspark

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

google.cloud.vision_v1.types.image_annotator.AnnotateImageResponse到Python中的Json

我正在使用 Google Visiondocument_text_detection功能,并且尝试将 AnnotateImageResponse 转储到 json

早些时候这段代码用来表示

client = vision.ImageAnnotatorClient()
image = vision.Image(content=image)

response = client.document_text_detection(image=image)
texts = MessageToDict(response)
text_json = json.dumps(texts)
Run Code Online (Sandbox Code Playgroud)

现在它抛出这个错误AttributeError: 'DESCRIPTOR'

我尝试了其他答案中的所有回复,但没有一个起作用。我也尝试过protobuf3-to-dict,但它也抛出错误

from protobuf_to_dict import protobuf_to_dict
text_json = protobuf_to_dict(response)
Run Code Online (Sandbox Code Playgroud)

它抛出:

AttributeError: 'ListFields'
Run Code Online (Sandbox Code Playgroud)

我知道我可以迭代它的对象,但我需要将其转储到 json 文件中以维护缓存。

python json python-3.x google-vision

6
推荐指数
2
解决办法
1636
查看次数

用数据框中组的平均值替换列值

我有一个 DataFrame 作为

Page    Line    y
1        2      3.2
1        2      6.1
1        3      7.1
2        4      8.5
2        4      9.1
Run Code Online (Sandbox Code Playgroud)

我必须用分组中的平均值替换 y 列。我可以使用此代码使用一列进行分组。

df['y'] = df['y'].groupby(df['Page'], group_keys=False).transform('mean') 
Run Code Online (Sandbox Code Playgroud)

我试图通过“页面”和“行”的组来替换 y 的值。像这样的东西,

Page    Line    y
1        2      4.65
1        2      4.65
1        3      7.1
2        4      8.8
2        4      8.8
Run Code Online (Sandbox Code Playgroud)

我在这个网站上搜索了很多答案,但找不到这个应用程序。将 python3 与熊猫一起使用。

python python-3.x pandas

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

在python中过滤包含一组字符串的数据帧行

我有一个数据框df像 -

A      B
12     A cat
24     The dog
54     An elephant
Run Code Online (Sandbox Code Playgroud)

我必须根据包含字符串列表的 B 列上的值过滤行。我可以对字符串“cat”执行以下操作:

df[df["B"].str.contains("cat", case=False, na=False)]
Run Code Online (Sandbox Code Playgroud)

这将返回我

A      B
12     A cat
Run Code Online (Sandbox Code Playgroud)

但现在我想过滤它的字符串列表,即 ['cat', 'dog',.....]。

A      B
12     A cat
24     The dog
Run Code Online (Sandbox Code Playgroud)

我可以使用 for 循环来做到这一点,但我正在寻找一种 Pandas 方法来做到这一点。我正在使用 python3 和 pandas,并且自过去 2 天以来已经搜索了很多关于堆栈溢出的解决方案

python python-3.x pandas

3
推荐指数
1
解决办法
1966
查看次数

合并来自熊猫左数据框的覆盖值

我有两个DataFrames C和D,如下所示:

C
    A  B
0  AB  1
1  CD  2
2  EF  3

D
    A  B
1  CD  4
2  GH  5
Run Code Online (Sandbox Code Playgroud)

我必须合并两个数据帧,但是合并应该覆盖正确的df中的值。数据框的其余行不应更改。

Output
    A  B
0  AB  1
1  CD  4
2  EF  3
3  GH  5
Run Code Online (Sandbox Code Playgroud)

df的行顺序不得更改,即CD应保留在索引1中。我尝试使用外部合并来处理索引,但要复制列而不是覆盖。

>>> pd.merge(c,d, how='outer', on='A')
    A  B_x  B_y
0  AB  1.0  NaN
1  CD  2.0  4.0
2  EF  3.0  NaN
3  GH  NaN  5.0 
Run Code Online (Sandbox Code Playgroud)

基本上,B_y应该在B_x中替换了值(仅在出现值的地方)。我正在使用Python3.7。

python dataframe python-3.x pandas

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