Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。




4
Python-ABS与工厂
我注意到在python中,有两种相似的寻找数字绝对值的方法: 第一 abs(-5) 第二 import math math.fabs(-5) 这些方法有何不同?
107 python 


8
多处理:在进程之间共享一个大型只读对象?
通过多处理程序生成的子进程是否共享程序早期创建的对象? 我有以下设置: do_some_processing(filename): for line in file(filename): if line.split(',')[0] in big_lookup_object: # something here if __name__ == '__main__': big_lookup_object = marshal.load('file.bin') pool = Pool(processes=4) print pool.map(do_some_processing, glob.glob('*.data')) 我正在将一些大对象加载到内存中,然后创建一个需要利用该大对象的工作池。大对象是只读访问的,我不需要在进程之间传递对它的修改。 我的问题是:大对象是否已加载到共享内存中,就像我在unix / c中生成进程一样,还是每个进程都加载了自己的大对象副本? 更新:进一步说明-big_lookup_object是共享的查找对象。我不需要将其拆分并单独处理。我需要保留一个副本。我需要拆分的工作是读取许多其他大文件,并针对查找对象查找那些大文件中的项目。 进一步更新:数据库是一个很好的解决方案,memcached可能是一个更好的解决方案,磁盘上的文件(机架或dbm)可能更好。在这个问题上,我对内存解决方案特别感兴趣。对于最终的解决方案,我将使用hadoop,但我想看看是否也可以具有本地内存版本。


10
UnicodeDecodeError:'ascii'编解码器无法解码位置2的字节0xd1:序数不在范围内(128)
我正在尝试使用其中包含一些非标准字符的超大型数据集。根据工作规范,我需要使用unicode,但我感到困惑。(这很可能做错了。) 我使用以下方式打开CSV: 15 ncesReader = csv.reader(open('geocoded_output.csv', 'rb'), delimiter='\t', quotechar='"') 然后,我尝试使用以下代码对其进行编码: name=school_name.encode('utf-8'), street=row[9].encode('utf-8'), city=row[10].encode('utf-8'), state=row[11].encode('utf-8'), zip5=row[12], zip4=row[13],county=row[25].encode('utf-8'), lat=row[22], lng=row[23]) 我正在对除lat和lng以外的所有内容进行编码,因为它们需要发送到API。当我运行程序以将数据集解析为可以使用的内容时,将获得以下Traceback。 Traceback (most recent call last): File "push_into_db.py", line 80, in <module> main() File "push_into_db.py", line 74, in main district_map = buildDistrictSchoolMap() File "push_into_db.py", line 32, in buildDistrictSchoolMap county=row[25].encode('utf-8'), lat=row[22], lng=row[23]) UnicodeDecodeError: …
107 python  django  utf-8 

7
读取巨大的.csv文件
我目前正在尝试从Python 2.7中的.csv文件读取数据,该文件最多包含100万行和200列(文件范围从100mb到1.6gb)。对于少于300,000行的文件,我可以(非常缓慢地)执行此操作,但是一旦超过该行,就会出现内存错误。我的代码如下所示: def getdata(filename, criteria): data=[] for criterion in criteria: data.append(getstuff(filename, criteron)) return data def getstuff(filename, criterion): import csv data=[] with open(filename, "rb") as csvfile: datareader=csv.reader(csvfile) for row in datareader: if row[3]=="column header": data.append(row) elif len(data)<2 and row[3]!=criterion: pass elif row[3]==criterion: data.append(row) else: return data 在getstuff函数中使用else子句的原因是,所有符合条件的元素都将一起列在csv文件中,因此当我经过它们时,为了节省时间,我离开了循环。 我的问题是: 我如何设法使其与较大的文件一起使用? 有什么办法可以使它更快? 我的计算机具有8gb …
107 python  python-2.7  file  csv 

6
Python:字典列表,如果存在,则增加一个字典值,如果不增加新字典
我想做类似的事情。 list_of_urls = ['http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.cn/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.cn/'] urls = [{'url': 'http://www.google.fr/', 'nbr': 1}] for url in list_of_urls: if url in [f['url'] for f in urls]: urls[??]['nbr'] += 1 else: urls.append({'url': url, 'nbr': 1}) 我能怎么做 ?我不知道该选择元组来编辑它还是找出元组索引? 有什么帮助吗?
107 python  loops  list  tuples 



9
matplotlib / seaborn:热图图的第一行和最后一行被切成两半
用seaborn(和matplotlib关联矩阵)绘制热图时,第一行和最后一行被切成两半。当我运行这个在网上找到的最小代码示例时,也会发生这种情况。 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv('https://raw.githubusercontent.com/resbaz/r-novice-gapminder-files/master/data/gapminder-FiveYearData.csv') plt.figure(figsize=(10,5)) sns.heatmap(data.corr()) plt.show() y轴上的标签在正确的位置,但是行并不完全在此处。 几天前,它按预期工作。从那时起,我安装了texlive-xetex,因此我再次将其删除,但是并不能解决我的问题。 有什么想法我可能会错过吗?



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.