我已经在 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) 我有一个 pandas 数据帧,正在写入 HDFS 中的表。我可以将数据写入表中Srum_Entry_Creation,StringType()但我需要它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) 我有一个带有 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) 我正在使用熊猫数据框。我试图在日期和时间之后从字符串的其余部分中拆分一列。
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天后剥离所有内容
我在所有字符串的数据框中都有一个列,其中一些是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.但它总是随着名字而改变.
我正在使用 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) 我想将 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) 我使用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) 我有一个数据框,每列代表一个用户.我试图消除任何除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 创建了一个非常简单的人工神经网络。在下面的示例中,我根据混淆矩阵中的值获得了准确度。这些是混淆矩阵的结果:
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) 我已经构建了一个神经网络,它在一个大约 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) 我正在基于一个原始熊猫数据框创建 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) 我正在使用 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) python ×11
pandas ×9
python-3.x ×3
apply ×1
arrays ×1
dataframe ×1
docker ×1
echarts ×1
javascript ×1
plotly ×1
pyspark ×1
python-3.6 ×1
r ×1
r-plotly ×1
regex ×1
rhel ×1
rhel7 ×1
scikit-learn ×1