小编sec*_*guy的帖子

构建 Python 包 Docker Image 时出现 Python 错误

我已经在 RHEL7 服务器上安装了 Docker 并且它正在运行。我正在尝试构建我在 GitHub 上找到的第一个 Docker 镜像,以构建用于 Demisto 的 Python 库 docker 镜像。https://github.com/demisto/tools/tree/master/docker

我修改了requirements文件夹,只添加了一个python包,impyla。正如您在下面看到的那样,它会下载和 impyla 及其依赖项,但随后会返回一条错误消息,但我不确定现在该怎么做。有 docker 或 python 经验的人知道我接下来应该尝试什么吗?

[root@localhost docker]# sudo ./create_docker_image.sh dockerstuff/docker_python_image
Sending build context to Docker daemon 48.13kB
Step 1/3 : FROM python:2.7.15-slim-jessie
 ---> af47402d957b
Step 2/3 : COPY requirements.txt .
 ---> Using cache 
 ---> e107910d781c
Step 3/3 : RUN pip install --no-cache-dir -r requirements.txt
 ---> Running in 41e182aee016
Collecting impyla (from -r requirements.txt (line 1))
 Downloading https://files.pythonhosted.org/packages/6f/96/92f933cd216f9ff5d7f4ba7e0615a51ad4e3beb31a7de60f7df365378bb9/impyla-0.14.1-py2-none-any.whl (165kB)
Collecting six (from impyla->-r …
Run Code Online (Sandbox Code Playgroud)

python docker

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

类型错误:TimestampType 无法接受对象 <class 'str'> 和 <class 'int'>

我有一个 pandas 数据帧,正在写入 HDFS 中的表。我可以将数据写入表中Srum_Entry_CreationStringType()但我需要它TimestampType()。这就是我遇到TypeError: TimestampType can not accept object '2019-05-20 12:03:00' in type <class 'str'>or的地方TypeError: TimestampType can not accept object 1558353780000000000 in type <class 'int'>。在定义模式之前,我尝试过将列转换为 python 中的不同日期格式,但似乎可以使导入正常工作。

df
    Srum_Entry_ID   Connected_Time  Machine     Srum_Entry_Creation
0   5769.0          0.018218        Computer1   2019-05-20 12:03:00
1   5770.0          0.000359        Computer1   2019-05-20 12:03:00
2   5771.0          0.042674        Computer2   2019-05-20 13:03:00
3   5772.0          0.043229        Computer2   2019-05-20 14:04:00
4   5773.0          0.032222        Computer3   2019-05-20 14:04:00

spark = SparkSession.builder.appName('application').getOrCreate()
schema = StructType([StructField('Srum_Entry_ID', FloatType(), …
Run Code Online (Sandbox Code Playgroud)

python pandas apache-spark-sql pyspark

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

熊猫如何创建一个新的数据框,即使在不同的行上也有开始和结束

我有一个带有 2 列的 Pandas 数据框。一些MessageID's在同一行的结尾,它们以NewMessageID下面的索引行 0 中的开头。但是其他像索引第 2 行直到索引第 4 行才结束。我正在寻找一种巧妙的方法来简化新数据帧中的输出。

df
    MessageID   NewMessageID
0   28          10
1   21          9
2   4           18
3   3           6
4   18          22
5   99          102
6   102         118
7   1           20
Run Code Online (Sandbox Code Playgroud)

我正在寻找类似的输出:

df1
    Start  Finish
0   28     10 
1   21     9
2   4      22
3   3      6
4   99     118
5   1      20 
Run Code Online (Sandbox Code Playgroud)

python pandas

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

熊猫在一个月日的时间后从其余的字符串中分离出来

我正在使用熊猫数据框。我试图在日期和时间之后从字符串的其余部分中拆分一列。

df
   data
0  Oct 22 12:56:52 server1
1  Oct 22 12:56:52 server2
2  Oct 22 12:56:53 server2
3  Oct 22 12:56:54 server2
4  Oct 22 12:56:56 comp2
Run Code Online (Sandbox Code Playgroud)

所需的输出:

df
   date              machine
0  Oct 22 12:56:52   server1
1  Oct 22 12:56:52   server2
2  Oct 22 12:56:53   server2
3  Oct 22 12:56:54   server2
4  Oct 22 12:56:56   comp2
Run Code Online (Sandbox Code Playgroud)

如果我尝试类似的操作,df["data"].str.extract('^(.*? [0-9]{2}) (.*)$')则会在22天后剥离所有内容

python regex python-3.x pandas

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

Pandas - 用名称ID替换数字字符串

我在所有字符串的数据框中都有一个列,其中一些是TAG(机器/计算机),一些其他项目,其他是ID.我期待将ID的所有字符串更改为"ID"而不是数字字符串.

type(df.columnOne[1])
str 
Run Code Online (Sandbox Code Playgroud)

这就是我的df列的样子:

df
  columnOne
0 TAG
1 1115268
2 13452
3 system
4 TAG
5 355511
6 95221543
7 5124
8 111333544
9 TAG
10 local
11 434312
Run Code Online (Sandbox Code Playgroud)

期望的输出:

df
  columnOne
0 TAG
1 ID
2 ID
3 system
4 TAG
5 ID
6 ID
7 ID
8 ID
9 TAG
10 Local
11 ID
Run Code Online (Sandbox Code Playgroud)

我通常会做一些事情,如果它不等于TAG或系统或本地然后ID.但它总是随着名字而改变.

python pandas

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

Python 仍然存在 try-except 子句的问题

我正在使用 tld python 库使用应用函数从代理请求日志中获取第一级域。当我遇到一个奇怪的请求时,tld 不知道如何处理像“http:1 CON”或“http:/login.cgi%00”这样的错误消息,如下所示:

TldBadUrl: Is not a valid URL http:1 con!
TldBadUrlTraceback (most recent call last)
in engine
----> 1 new_fld_column = request_2['request'].apply(get_fld)

/usr/local/lib/python2.7/site-packages/pandas/core/series.pyc in apply(self, func, convert_dtype, args, **kwds)
   2353             else:
   2354                 values = self.asobject
-> 2355                 mapped = lib.map_infer(values, f, convert=convert_dtype)
   2356 
   2357         if len(mapped) and isinstance(mapped[0], Series):

pandas/_libs/src/inference.pyx in pandas._libs.lib.map_infer (pandas/_libs/lib.c:66440)()

/home/cdsw/.local/lib/python2.7/site-packages/tld/utils.pyc in get_fld(url, 
fail_silently, fix_protocol, search_public, search_private, **kwargs)
    385         fix_protocol=fix_protocol,
    386         search_public=search_public,
--> 387         search_private=search_private
    388     )
    389 

/home/cdsw/.local/lib/python2.7/site-packages/tld/utils.pyc in process_url(url, fail_silently, fix_protocol, …
Run Code Online (Sandbox Code Playgroud)

python apply dataframe pandas

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

如何修复 -- bash: /usr/bin/python: 符号链接级别过多

我想将 python3 设为我在 rhel 上的默认设置,所以我遵循了如何在 CentOS 上将 Python3.5.2 设置为默认 Python 版本?

sudo ln -fs /usr/bin/python3 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

它将默认值更改为 3.6.8

root@rhel:~# python -V
Python 3.6.8
Run Code Online (Sandbox Code Playgroud)

然后我尝试 yum install python-pip:

root@rhel:~# yum install python-pip
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                        ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

当我尝试其他一些命令时发生了这种情况。我尝试通过以下方式恢复更改

root@rhel:~# sudo ln -fs /usr/bin/python /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

但是我遇到了

root@rhel:~# python -V
bash: /usr/bin/python: Too many levels of symbolic links
Run Code Online (Sandbox Code Playgroud)

我猜从我在需要打破符号链接的地方阅读的内容来看。以下是我的 /usr/bin/ 中的内容

在此处输入图片说明

ls -l /usr/bin | 蟒蛇

lrwxrwxrwx    1 root root          15 Oct 21 14:12 python -> …
Run Code Online (Sandbox Code Playgroud)

python rhel rhel7 python-3.6

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

如何为 R Plotly 表添加标题

我使用ropensci/plotly 库创建了一个表格。我尝试通过多种方式添加标题。

这是我的代码:

library(plotly)
data <- read.csv("data.csv")

plot_ly(

type = 'table',
columnwidth = c(33, 32, 32),
columnorder = c(0, 1, 2),
header = list(
  values = list(list(c("1st column")),
                list(c("2nd column")),
                list(c("3rd column"))
  ),
  align = c("center", "center"),
  line = list(width = 2, color = 'black'),
  fill = list(color = c("blue", "blue")),
  font = list(family = "Arial", size = 14, color = "white")
),
cells = list(
  values = list(c(data$1st_column),c(data$2nd_column),c(data$3rd_column)),
  align = c("center", "center"),
  line = list(color = "black", width = …
Run Code Online (Sandbox Code Playgroud)

r plotly r-plotly

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

Pandas只删除NaN和float 0.0的行

我有一个数据框,每列代表一个用户.我试图消除任何除NaN和0.000000之外的任何列.因此,用户名1或第一列不会包含在数据框中,但其他用户将包括在内.

这是数据帧:

  username  1         2        3         4          5    
      date
2019-01-16  NaN       9.16667  NaN       NaN        1.000000
2019-01-17  NaN       NaN      NaN       1.000000   1.000000
2019-01-18  NaN       1.00000  0.956522  1.000000   1.000000
2019-01-19  0.000000  NaN      1.000000  NaN        NaN  
2019-01-20  0.000000  NaN      0.961538  NaN        NaN     
Run Code Online (Sandbox Code Playgroud)

百分比存储为float64:

type(df['1'].iloc[0])
numpy.float64
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

如何查看混淆矩阵中标记为假阳性和假阴性的行

我用 Python 创建了一个非常简单的人工神经网络。在下面的示例中,我根据混淆矩阵中的值获得了准确度。这些是混淆矩阵的结果:

array([[3990,    2],
       [  56,  172]])
Run Code Online (Sandbox Code Playgroud)

我有兴趣找到被标记为假阳性(2)和假阴性(56)的行。

以下是我的代码:

#Import the dataset
X = DBF2.iloc[:, 1:2].values
y = DBF2.iloc[:, 2].values

#Encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X_1 = LabelEncoder()
X[:, 0] = labelencoder_X_1.fit_transform(X[:, 0])

#Create dummy variables
onehotencoder = OneHotEncoder(categorical_features = [0])
X = onehotencoder.fit_transform(X).toarray()
#Remove 2 variables to avoid falling into the dummy variable trap
X = np.delete(X, [0], axis=1)

#Splitting the dataset
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = …
Run Code Online (Sandbox Code Playgroud)

python neural-network pandas sklearn-pandas

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

Python - 遇到 x_test y_test 拟合错误

我已经构建了一个神经网络,它在一个大约 300,000 行的小数据集上运行良好,其中包含 2 个分类变量和 1 个自变量,但是当我将其增加到 650 万行时遇到了内存错误。所以我决定修改代码并且越来越近,但现在我遇到了适合错误的问题。我有 2 个分类变量和一列用于 1 和 0 的因变量(可疑或不可疑。开始数据集如下所示:

DBF2
   ParentProcess                   ChildProcess               Suspicious
0  C:\Program Files (x86)\Wireless AutoSwitch\wrl...    ...            0
1  C:\Program Files (x86)\Wireless AutoSwitch\wrl...    ...            0
2  C:\Windows\System32\svchost.exe                      ...            1
3  C:\Program Files (x86)\Wireless AutoSwitch\wrl...    ...            0
4  C:\Program Files (x86)\Wireless AutoSwitch\wrl...    ...            0
5  C:\Program Files (x86)\Wireless AutoSwitch\wrl...    ...            0
Run Code Online (Sandbox Code Playgroud)

我的代码遵循/带有错误:

import pandas as pd
import numpy as np
import hashlib
import matplotlib.pyplot as plt
import timeit

X = DBF2.iloc[:, 0:2].values
y …
Run Code Online (Sandbox Code Playgroud)

python arrays pandas scikit-learn

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

熊猫应用多个大于和小于按特定列对行进行分组

我正在基于一个原始熊猫数据框创建 3 个熊猫数据框。我已经计算了与规范的标准偏差。

#Mean
stats_over_29000_mean = stats_over_29000['count'].mean().astype(int)
Run Code Online (Sandbox Code Playgroud)

152542

#STDS
stats_over_29000_count_between_std = stats_over_29000_std - stats_over_29000_mean
Run Code Online (Sandbox Code Playgroud)

54313

stats_over_29000_first_std = stats_over_29000_mean + stats_over_29000_count_between_std
Run Code Online (Sandbox Code Playgroud)

206855

stats_over_29000_second_std = stats_over_29000_first_std + stats_over_29000_count_between_std
Run Code Online (Sandbox Code Playgroud)

261168

stats_over_29000_third_std = stats_over_29000_second_std + stats_over_29000_count_between_std
Run Code Online (Sandbox Code Playgroud)

315481

这适用于从 df 获取 2 stds 下的所有行

#Select all rows where count is less than 2 standard deviations 
stats_under_2_stds = stats_over_29000[stats_over_29000['count'] < stats_over_29000_second_std]
Run Code Online (Sandbox Code Playgroud)

接下来我想从 df 中选择所有行,其中 >=2 stds 且少于 3 stds

我试过了:

stats_2_and_over_under_3_stds = stats_over_29000[stats_over_29000['count'] >= stats_over_29000_second_std < stats_over_29000_third_std]
Run Code Online (Sandbox Code Playgroud)

stats_2_and_over_under_3_stds = stats_over_29000[stats_over_29000['count'] >= stats_over_29000_second_std && < stats_over_29000_third_std] …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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

Echarts 如何在条形图上的特定条形之间添加虚线垂直线?

我正在使用 Echarts 并创建了一个条形图。我正在尝试添加两条垂直虚线来分隔Source3和,Source4并添加另一条垂直虚线来显示SourceSix和的分隔SourceSeven。我试过在markLine一个酒吧里乱搞,并在一个酒吧line后面添加一个作为数据的一部分,但我似乎可以解决这个问题。

编码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- including ECharts file -->
    <script src="echarts.js"></script>
</head>
<body>
<!-- prepare a DOM container with width and height -->
<div id="main" style="width: 1600px;height:800px;"></div>
<script type="text/javascript">
    // based on prepared DOM, initialize echarts instance
    var myChart = echarts.init(document.getElementById('main'));

    // specify chart configuration item and data
    var option = {
        title: {
            text: 'Counts by Intel Source'
        },

        legend: …
Run Code Online (Sandbox Code Playgroud)

javascript echarts

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