小编Luk*_*uke的帖子

笔记本验证失败 | 朱皮特

我的 Jupyter Notebook 上不断弹出令人沮丧且持续的错误:

保存操作成功,但笔记本似乎无效。验证错误是:

Notebook validation failed: Additional properties are not allowed ('id' was unexpected):
{
 "metadata": {
  "trusted": true
 },
 "id": "breathing-seventh",
 "cell_type": "code",
 "source": "import pandas as pd\nimport numpy as np\nimport re\nimport datetime\n\nimport json\nimport os\nimport copy\n\nimport seaborn as sns\nimport matplotlib.pyplot as plt",
 "execution_count": 1,
 "outputs": []
}
Run Code Online (Sandbox Code Playgroud)

它指向我的导入列,其中包含:

import pandas as pd
import numpy as np
import re
import datetime

import json
import os
import copy

import seaborn as sns
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

我还在笔记本中使用 Plotly,我不确定该错误是否是由 Plotly …

python jupyter-notebook

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

自定义 Seaborn Barplot 中使用的“色调”颜色

我正在使用seaborn创建以下图表:

在此输入图像描述

我想自定义由 生成的颜色hue,最好将颜色的顺序设置为蓝色,绿色,黄色,红色。我尝试将颜色或颜色列表传递给参数,color但是sns.barplot它会产生颜色渐变或错误。

请指教。

您可以使用以下代码来重现该图表:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.DataFrame({'Early': {'A': 686, 'B': 533, 'C': 833, 'D': 625, 'E': 820},
 'Long Overdue': {'A': 203, 'B': 237, 'C': 436, 'D': 458, 'E': 408},
 'On Time': {'A': 881, 'B': 903, 'C': 100, 'D': 53, 'E': 50},
 'Overdue': {'A': 412, 'B': 509, 'C': 813, 'D': 1046, 'E': 904}})

df_long = df.unstack().to_frame(name='value')
df_long = df_long.swaplevel()
df_long.reset_index(inplace=True)
df_long.columns = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

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

如何在 Pandas DataFrame 中将 <NA> 替换为 NaN?

我的 DataFrame 中的某些列具有<NA>类型为 的实例pandas._libs.missing.NAType

我想NaN用 using替换它们np.nan

<NA>我见过一些问题,其中使用时可以替换的实例pd.read_csv()

但由于我的 Pandas DataFrame 是从 Spark DataFrame 创建的,所以我不使用该pd.read_csv()函数。

请指教。

python pandas

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

如何在 PySpark 中将多个参数传递给 Pandas UDF?

我正在使用以下代码片段:

from cape_privacy.pandas.transformations import Tokenizer

max_token_len = 5


@pandas_udf("string")

def Tokenize(column: pd.Series)-> pd.Series:
  tokenizer = Tokenizer(max_token_len)
  return tokenizer(column)


spark_df = spark_df.withColumn("name", Tokenize("name"))
Run Code Online (Sandbox Code Playgroud)

由于 Pandas UDF 仅使用 Pandas 系列,我无法max_token_len在函数调用中传递参数Tokenize("name")

因此我必须max_token_len在函数范围之外定义参数。

这个问题中提供的解决方法并没有真正的帮助。此问题是否还有其他可能的解决方法或替代方案?

请指教

python user-defined-functions pandas pyspark

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

如何使用 Plotly 将两张图合并为一张图?

我有2个csv文件,我的代码如下。

df = pd.read_csv("test.csv",
             sep='\t',skiprows=range(9),names=['A', 'B', 'C','D'])

df2 = pd.read_csv("LoadMatch_Limit.csv",skiprows=range(1),names=['X','Y'])

fig = px.line([df,df2], x=['A','X'] , y=['D','Y'])
Run Code Online (Sandbox Code Playgroud)

我想要我的折线图,x 轴取自(“A”和“X”列),y 轴取自(“D”和“Y”列)。无论如何,我可以将这两张图表绘制为一张图吗?

python plotly

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

在 Julia 中使用 findfirst() 的多个条件

假设我有两个数组,如下所示:

  • x = [10, 30, 50, 99, 299]
  • y = [3, 29, 30, 23, 55]

如何找到满足以下两个条件的索引?

  • x > 80 & y > 30

因此,对于我的示例,我预计返回值为索引 5。我想格式将如下所示:

findfirst(x -> x > 80 \union y -> y> 30, x,y)

但这不起作用..

另外,在我的例子中,x 和 y 是数据框中的列,但进行索引搜索也不起作用。

findfirst julia

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

在 macOS Big Sur 上将 Python 3.7 升级到 3.9

我正在尝试在 macOS Big Sur 上将 Python 3.7 升级到 3.9。我还试图避免丢失在 Python 3.7 上安装的包并在 Python 3.9 上再次重新安装它们

我尝试使用

brew install python3
brew update && brew upgrade python
Run Code Online (Sandbox Code Playgroud)

这产生了

Already up-to-date.
Warning: python3 3.9.1_7 already installed
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时python3 --version它会产生Python 3.7.0

这是别名的问题吗?有没有办法卸载Python 3.7并保留Python 3.9?

运行brew link python3产量

Linking /usr/local/Cellar/python@3.9/3.9.1_7... 
Error: Could not symlink bin/2to3
Target /usr/local/bin/2to3
already exists. You may want to remove it:
  rm '/usr/local/bin/2to3'

To force the link and overwrite all conflicting files:
  brew link --overwrite python@3.9

To …
Run Code Online (Sandbox Code Playgroud)

python

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

AttributeError:“NoneType”对象没有属性“select”| pySpark

这可能是一个非常基本的问题,因为我是 pyspark 的初学者。我已经阅读了一个 csv 文件并尝试在其上应用一些 pyspark 功能,例如过滤、拆分或替换。但我面临一个错误这是我的代码...

emp_data = spark\
            .read\
            .format('csv')\
            .option("inferSchema","true")\
            .option("header","true")\
            .load("/FileStore/tables/employee_earnings_report_2016-1.csv")
Run Code Online (Sandbox Code Playgroud)

阅读文件后,我应用了过滤器..运行良好

import pyspark.sql.functions as f
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)

+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
|             NAME|    REGULAR|RETRO|  OTHER|  OVERTIME|INJURED|DETAIL|QUINN/EDUCATION INCENTIVE|TOTAL EARNINGS|POSTAL|Gender|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
|    Abbasi,Sophia| $18,249.83|   NA|     NA|        NA|     NA|    NA|                       NA|    $18,249.83|  2148|     M|
|Abbruzzese,Angela|  $5,000.90|   NA|     NA|        NA|     NA|    NA|                       NA|     $5,000.90|  2125|     M|
| Abbruzzese,Donna|    $621.90|   NA|     NA|        NA|     NA|    NA|                       NA|       $621.90|  2125|     M|
|  Abdelrahim,Maha|  $1,181.60|   NA|     NA|        NA|     NA| …
Run Code Online (Sandbox Code Playgroud)

python dataframe apache-spark-sql pyspark databricks

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

如何减少由许多条件语句组成的函数?

我正在使用一个包含多个条件语句的函数,类似于下面所示的函数:

def apply_function(column, function):
  if function == 'function_1':
    return function_1(column)
  
  elif function == 'function_2':
    return function_2(column)
  
  elif function == 'function_3':
    return function_3(column)
  
  elif function == 'function_4':
    return function_4(column)
  
  elif function == 'function_5':
    return function_5(column)
...
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以减少条件语句的数量并以更Pythonic的方式实现函数并增强性能?

请指教。

python python-3.x

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

如何减少Python中的多个嵌套if语句?

我正在使用一个代码片段,该代码片段迭代对象列表并过滤掉对象以执行特定任务。该for循环由多个嵌套if语句组成(我将来可能会添加更多)。

这是我的代码:

for obj in objects:
  if 'x' not in obj.name:
    if 'y' not in obj.name:
      if 'z' not in obj.name:
        if obj.length > 0:
          if obj.is_directory == True:
            
            # Do Something
Run Code Online (Sandbox Code Playgroud)

这个片段有一个简洁或有效的解决方法吗?

请指教

python python-3.x

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

基于多个日期条件过滤数据框

我正在使用以下 DataFrame:

id  slotTime    EDD EDD-10M
0   1000000101068957    2021-05-12  2021-12-26  2021-02-26
1   1000000100849718    2021-03-20  2021-04-05  2020-06-05
2   1000000100849718    2021-03-20  2021-04-05  2020-06-05
3   1000000100849718    2021-03-20  2021-04-05  2020-06-05
4   1000000100849718    2021-03-20  2021-04-05  2020-06-05
Run Code Online (Sandbox Code Playgroud)

我只想保留和slotTime之间的行:EDD-10MEDD

df['EDD-10M'] < df['slotTime'] < df['EDD']]

我尝试使用以下方法:

df.loc[df[df['slotTime'] < df['EDD']] & df[df['EDD-10M'] < df['slotTime']]]

但是它会产生以下错误

TypeError: ufunc 'bitwise_and' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

请指教。

要复制上述数据帧,请使用以下代码段:

import …
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

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

正则表达式:仅提取数字直到第一个空格

我有以下数据:

#1314515 22-09-2021

并且只需要提取数字而不是日期,如下所示:

1314515

已尝试以下正则表达式组合但不起作用:

[\s0-9]+
\s[0-9]+
Run Code Online (Sandbox Code Playgroud)

请帮忙正确组合。

python regex pandas

0
推荐指数
1
解决办法
988
查看次数