小编Lui*_*uez的帖子

隐藏matplotlib中的轴值

我有这个图像:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我使用的话,我不想隐藏这些数字

plt.axis('off')
Run Code Online (Sandbox Code Playgroud)

我得到这个图像:

在此输入图像描述

它还隐藏标签,Vt.如何在隐藏值的同时保留标签?

python matplotlib

75
推荐指数
5
解决办法
13万
查看次数

返回第一个匹配正则表达式的字符串

我想获得正则表达式的第一场比赛.

在这种情况下,我得到了一个清单:

text = 'aa33bbb44'
re.findall('\d+',text)
Run Code Online (Sandbox Code Playgroud)

['33','44']

我可以提取列表的第一个元素:

text = 'aa33bbb44'
re.findall('\d+',text)[0]
Run Code Online (Sandbox Code Playgroud)

'33'

但是只有在至少有一个匹配时才有效,否则我会收到错误:

text = 'aazzzbbb'
re.findall('\d+',text)[0]
Run Code Online (Sandbox Code Playgroud)

IndexError:列表索引超出范围

在这种情况下,我可以定义一个函数:

def return_first_match(text):
    try:
        result = re.findall('\d+',text)[0]
    except Exception, IndexError:
        result = ''
    return result
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在不定义新功能的情况下获得该结果?

python regex

64
推荐指数
4
解决办法
10万
查看次数

设置日志记录级别

我正在尝试使用标准库来调试我的代码:

这很好用:

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info('message')
Run Code Online (Sandbox Code Playgroud)

我无法为较低级别的记录器工作:

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.info('message')

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.debug('message')
Run Code Online (Sandbox Code Playgroud)

我没有得到任何回应.

python logging

33
推荐指数
4
解决办法
3万
查看次数

在sklearn中保存MinMaxScaler模型

我在sklearn中使用MinMaxScaler模型来规范化模型的功能.

training_set = np.random.rand(4,4)*10
training_set

       [[ 6.01144787,  0.59753007,  2.0014852 ,  3.45433657],
       [ 6.03041646,  5.15589559,  6.64992437,  2.63440202],
       [ 2.27733136,  9.29927394,  0.03718093,  7.7679183 ],
       [ 9.86934288,  7.59003904,  6.02363739,  2.78294206]]


scaler = MinMaxScaler()
scaler.fit(training_set)    
scaler.transform(training_set)


   [[ 0.49184811,  0.        ,  0.29704831,  0.15972182],
   [ 0.4943466 ,  0.52384506,  1.        ,  0.        ],
   [ 0.        ,  1.        ,  0.        ,  1.        ],
   [ 1.        ,  0.80357559,  0.9052909 ,  0.02893534]]
Run Code Online (Sandbox Code Playgroud)

现在我想使用相同的缩放器来规范化测试集:

   [[ 8.31263467,  7.99782295,  0.02031658,  9.43249727],
   [ 1.03761228,  9.53173021,  5.99539478,  4.81456067],
   [ 0.19715961,  5.97702519,  0.53347403,  5.58747666],
   [ 9.67505429, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning normalization scikit-learn

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

如何用pandas使用相对路径在`data_folder`中打开我的文件?

我正在使用pandas并且需要阅读一些csv文件,结构是这样的.

文件夹/文件夹2/scripts_folder/script.py

文件夹/文件夹2/data_folder/data.csv

如何从scripts_folder中的脚本打开data.csv文件?

我试过这个:

absolute_path = os.path.abspath(os.path.dirname('data.csv'))

pandas.read_csv(absolute_path + '/data.csv')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

File folder/folder2/data_folder/data.csv does not exist
Run Code Online (Sandbox Code Playgroud)

python relative-path pandas

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

spacy lemmatizer是如何工作的?

对于词形还原,spacy有一个单词列表:形容词,副词,动词......以及例外列表:adverbs_irreg ...对于常规词汇,有一套规则

我们以"更广泛"这个词为例

因为它是一个形容词,所以词典化的规则应该从这个列表中取出:

ADJECTIVE_RULES = [
    ["er", ""],
    ["est", ""],
    ["er", "e"],
    ["est", "e"]
] 
Run Code Online (Sandbox Code Playgroud)

据我所知,这个过程将是这样的:

1)获取单词的POS标签,以了解它是否是名词,动词......
2)如果不是应用其中一个规则,则直接替换不正常情况列表中的单词.

现在,如何决定用"呃" - >"e"而不是"呃" - >""来获得"宽"而不是"wid"?

在这里它可以测试.

python nlp wordnet lemmatization spacy

11
推荐指数
2
解决办法
2524
查看次数

除了x项目项之外,迭代dict

我有这种格式的字典:

d_data = {'key_1':value_1,'key_2':value_2,'key_3':value_3,'key_x':value_x,'key_n':value_n}
Run Code Online (Sandbox Code Playgroud)

我必须迭代它的项目:

for key,value in columns.items():
    do something
Run Code Online (Sandbox Code Playgroud)

除了这对:

'key_x':value_x
Run Code Online (Sandbox Code Playgroud)

python dictionary

7
推荐指数
2
解决办法
611
查看次数

计算非零值的平均值

我有一些列表,其中非零值的平均值是多少。

例如

 [2,2,0,0,0] -> 2    
 [1,1,0,1,0]  -> 1  
 [0,0,0,9,0] -> 9    
 [2,3,0,0,0] -> 2.5
Run Code Online (Sandbox Code Playgroud)

目前我正在这样做:

list_ = [1,1,0,1,0]  
non_zero = [float(v) for v in list_ if v>0]
averge = sum(non_zero)/len(non_zero)
Run Code Online (Sandbox Code Playgroud)

我怎样才能更有效地执行此操作?

python optimization numpy list

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

加权直方图

我正在寻求从中迁移matplotlibplotly,但似乎plotly没有很好的集成pandas.例如,我正在尝试制作一个指定箱数的加权直方图:

sns.distplot(df.X, bins=25, hist_kws={'weights':df.W.values},norm_hist=False,kde=False)  
Run Code Online (Sandbox Code Playgroud)

但我没有找到一个简单的方法来做到这一点plotly.如何以直接的方式从pandas.DataFrame使用plotly中生成数据的直方图?

python plot histogram

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

将热图添加到 Folium 中的图层

我有这个示例代码:

from glob import glob
import numpy as np
import folium
from folium import plugins
from folium.plugins import HeatMap

lon, lat = -86.276, 30.935 
zoom_start = 5


data = (
    np.random.normal(size=(100, 3)) *
    np.array([[1, 1, 1]]) +
    np.array([[48, 5, 1]])
).tolist()
m = folium.Map([48, 5], tiles='stamentoner', zoom_start=6)

HeatMap(data).add_to(m)
m
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何将此热图添加到图层,以便在需要时将其隐藏?

python dictionary folium

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