我想知道sklearn LabelEncoder和pandas get_dummies之间的区别.为什么选择LabelEncoder而不是get_dummies.使用一个在另一个上的优势是什么?缺点是什么?
据我所知,如果我有A级
ClassA = ["Apple", "Ball", "Cat"]
encoder = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
和
dummy = [001, 010, 100]
Run Code Online (Sandbox Code Playgroud)
我不正确地理解这个吗?
我正在尝试连接到 Neo4j,但我不断收到此错误。我试过
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver(uri="bolt://localhost:7687", auth=("neo4j", "12345"))
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接时出现此错误
SecurityError: 无法建立到“违反协议 (_ssl.c:841)”的 EOF 的安全连接
当我输入http://localhost:7474/browser/时,我可以连接到浏览器
这是完整的错误日志:
-------------------------------------------------- ------------------------- SSLEOFError Traceback(最近一次调用最后一次)~\AppData\Roaming\Python\Python36\site-packages\neobolt\direct .py in _secure(s, host, ssl_context, **config) 853 try: --> 854 s = ssl_context.wrap_socket(s, server_hostname=host if HAS_SNI and host else None) 855 除了 SSLError 作为原因:
c:\program files\python36\lib\ssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session) 406 server_hostname=server_hostname, --> 407 _context=self, _session=session) 408
c:\program files\python36\lib\ssl.py in init(self、sock、keyfile、certfile、server_side、cert_reqs、ssl_version、ca_certs、do_handshake_on_connect、family、type、proto、fileno、suppress_ragged_eofs、npn_protocols、hostname_ciphers、 _context,_session)813 引发 ValueError(“不应为非阻塞套接字指定 do_handshake_on_connect”)--> 814 self.do_handshake() 815
c:\program …
我正在尝试删除长度低于 2 的单词和任何数字单词。例如
s = " This is a test 1212 test2"
Run Code Online (Sandbox Code Playgroud)
所需的输出是
" This is test test2"
Run Code Online (Sandbox Code Playgroud)
我试过\w{2,}这会删除所有长度小于 2 的单词。当我添加\D+时,当我不想从test2.
正如问题中提到的,我不断收到 UnexpectedStatusException:HyperParameterTuning 作业 xgboost-211***-1631 错误:失败。原因:尝试5次后仍未成功。有关更多详细信息,请通过列出超参数调整作业的训练作业来查看训练作业失败情况。
我根据https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost-tuning.html研究了参数范围研究了参数范围,以确保范围良好并且看起来没问题。数据绝对是好的,因为我可以训练模型但无法调整它。
这是我正在使用的代码:
import sagemaker
import boto3
import numpy as np # For matrix operations and numerical processing
import pandas as pd # For munging tabular data
import os
from sagemaker.tuner import IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner
from sagemaker.session import TrainingInput
from sagemaker.debugger import Rule, rule_configs
region = boto3.Session().region_name
smclient = boto3.Session().client('sagemaker')
role = sagemaker.get_execution_role()
s3_output_location='s3://{}/{}/{}'.format(bucket, prefix, 'output')
container=sagemaker.image_uris.retrieve("xgboost", region, "latest")
xgb_model=sagemaker.estimator.Estimator(
image_uri=container,
role=role,
instance_count=1,
instance_type='ml.m4.xlarge',
volume_size=5,
output_path=s3_output_location,
sagemaker_session=sagemaker.Session(),
rules=[Rule.sagemaker(rule_configs.create_xgboost_report())]
)
xgb_model.set_hyperparameters(
max_depth = 5, …Run Code Online (Sandbox Code Playgroud) 我想将元组的整数转换为元组的字符串.例如:
data = [(2,3,4,...),(23,42,54,...),......]
Run Code Online (Sandbox Code Playgroud)
会导致:
d = [('2','3','4',...),('23','42','54',....)......]
Run Code Online (Sandbox Code Playgroud)
请注意元组是如何大而且列表也很大.
我尝试了下面的代码,但它没有给我我想要的结果:
data = [(2,3,4,...),(23,42,54,...),......]
d=[]
for t in data:
d.append(str(t))
Run Code Online (Sandbox Code Playgroud) 我正在尝试动态创建一个添加了一些后缀的列名。我可以在 for 循环中完成,但我认为它会效率低下。有没有办法动态地做到这一点。
from pandas import Timestamp
import pandas as pd
df = pd.DataFrame({'B': range(1,6),'A':['A','A','A','B','B'],'D':[2,3,4,5,6]})
df['C'] = [Timestamp('20130101 09:00:00'),
Timestamp('20130101 09:00:02'),
Timestamp('20130102 09:00:03'),
Timestamp('20130101 09:00:05'),
Timestamp('20130101 09:00:06')]
Run Code Online (Sandbox Code Playgroud)
我可以分多个步骤完成,例如:
df['D_2days']=df.groupby('A').rolling('4d',on='C')['D'].sum().values
df['B_2days']=df.groupby('A').rolling('4d',on='C')['B'].sum().values
Run Code Online (Sandbox Code Playgroud)
有没有办法一次性完成。我有 1000 多列需要求和,循环可能不是一个好主意。
谢谢你,山姆
我正在尝试更改原始数据文件的输出.在原始数据中,数据采用以下格式:
Name Test1 Test2 Test3 Test4
xyz 45 78 88 100
avb -1 89 76 29
Run Code Online (Sandbox Code Playgroud)
但我想将数据结构更改为以下格式:
Name Score
xyz 45
xyz 78
xyz 88
xyz 100
xyz 89 (skip -1 because it's less than 0)
Run Code Online (Sandbox Code Playgroud)
我试图使用数组和输出语句,但有麻烦.这是我的代码:
Data Stats;
set Record;
Array Test(*) Test1 - Test 6;
do i = 1 to 6;
if Test(i) gt -1 then output;
end;
run;
Run Code Online (Sandbox Code Playgroud) 我正在尝试将列表写入文件.我的代码写入除最后列表之外的所有列表.我不知道为什么.有人可以看看我的代码,让我知道我做错了什么?
complete_test=[['apple','ball'],['test','test1'],['apple','testing']]
counter = 1
for i in complete_test:
r=open("testing"+str(counter)+".txt",'w')
for j in i:
r.write(j+'\n')
counter=counter +1
Run Code Online (Sandbox Code Playgroud)
谢谢.
假设我们有一个字符串列表:
List1 = ['I am a man', 'I am a woman', 'I am', 'I', 'Ian']
Run Code Online (Sandbox Code Playgroud)
如何删除少于三个单词的项目?结果应该是:
['I am a man', 'I am a woman']
Run Code Online (Sandbox Code Playgroud)
我尝试使用该len功能,但它不会删除列表.
当我尝试在函数add中调用a,b时,我得到一个未定义的事件,尽管我正在返回值.有人可以帮助我如何让它同时返回a和b?
def numbers():
a= input ("a:")
a = int(a)
b= input ("b:")
b = int(b)
return a
return b
def add():
numbers()
print (a)
print (b)
add()
Run Code Online (Sandbox Code Playgroud)
任何建议或帮助都会很棒.
谢谢
假设有一个名为的文件
test.py包含:
class calc:
def add (a,b):
add = a + b
print add
def sub (a,b):
sub = a-b
print sub
Run Code Online (Sandbox Code Playgroud)
如果我想在另一个文件中调用add或sub,请说ex1.py
我试过了
from test import calc
t = calc()
t.add(5,4)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如何在另一个文件中调用add或sub?
如果test没有class但是函数我知道我们可以通过test.add调用(4,5)
python ×9
python-3.x ×5
pandas ×2
python-2.7 ×2
dataframe ×1
neo4j ×1
regex ×1
sas ×1
scikit-learn ×1
xgboost ×1