函数签名pandas.read_csv包括以下选项:
read_csv(filepath_or_buffer, low_memory=True, memory_map=False, iterator=False, chunksize=None, ...)
Run Code Online (Sandbox Code Playgroud)
我找不到任何文件low_memory或memory_map标志.我对这些功能是否已实现感到困惑,如果是这样,它们如何工作.
特别,
memory_map:如果实现它是否使用np.memmap,如果是,它将各个列存储为memmap或行.low_memory:它是否指定了cache存储在内存中的内容?DataFrame为memmapped DataFramePS:相关模块的版本
pandas==0.14.0
scipy==0.14.0
numpy==1.8.1
Run Code Online (Sandbox Code Playgroud) 在python,更具体地说pandas,我可以处理MultIndex行或列.有没有等价的R?我正在检查几个教程,例如https://en.wikibooks.org/wiki/R_Programming/Working_with_data_frames中的教程,但我找不到合适的R等效教程.
作为一个例子,我有以下数据框:
A-1 A-2 B-1 B-2
0 1 2 0 1
1 2 0 1 3
2 4 1 3 2
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像:
A B
1 2 1 2
0 1 2 0 1
1 2 0 1 3
2 4 1 3 2
Run Code Online (Sandbox Code Playgroud)
我从stackoverflow找到的其他相关答案
我正在尝试使用该scipy.optimize包来优化离散优化问题(全局优化).根据doc,实施的模拟退火scipy.optimize.anneal应该是一个不错的选择.但我不确定如何强制优化器只搜索搜索空间的整数值.有人可以帮忙吗?
一个说明性示例:
f(x1,x2) = (1-0.4*x1)^2 + 100*(0.6*x2 -0.4*x1^2)^2
where, $x1, x2 \in I$
我folium用来创建一组国家的等值区域地图.我正在关注http://folium.readthedocs.org/en/latest/#choropleth-examples上的文档.然而.由于某种原因,地图不显示任何阴影.我正在使用来自天然地球的世界geojson(参见要点).
我的数据框看起来像:
>>> spatial_scores.head()
Out[1]:
id Country Score
PER Peru 2.810300
HND Honduras 2.734521
GUF French Guiana 2.730886
SLV El Salvador 2.473134
CRI Costa Rica 2.454963
Run Code Online (Sandbox Code Playgroud)
世界geojson看起来像:
>>> world_json['features'][0]['id']
Out [2]:
u'AFG'
Run Code Online (Sandbox Code Playgroud)
等值线代码的相关部分如下:
map1 = folium.Map(location=[-15., -60], zoom_start=4)
map1.geo_json(geo_path=world_json_path,
data_out='data.json',
data=spatial_scores,
columns=['id', 'Score'],
threshold_scale=[0, 1, 2, 3, 4],
key_on='features.id',
fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5,
legend_name='Score')
map1.create_map('./Scores.html')
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?
[编辑]
我解决了这个问题.绘制choropleth我需要只保留那些geojson也在我的数据框中的键.
merged = gdf.merge(spatial_scores, left_on='name', right_on='Country')
spatial_gdf = gpd.GeoDataFrame(merged.iloc[:, [0, 1]])
data_df = …Run Code Online (Sandbox Code Playgroud) 我一直在尝试获得与pandas相关的freq参数的正确文档.例如,为了重新采样数据帧,我们可以做类似的事情
df.resample(rule='W', how='sum')
Run Code Online (Sandbox Code Playgroud)
这将每周重新采样.我想知道其他选项是什么,我如何定义自定义频率/规则.
编辑:澄清我正在寻找什么是其他合法选项rule
我有一个表格的pandas dataframe/csv
date Country Type Val
2013-01-01 USA x 23
2013-01-01 USA y 13
2013-01-01 MX x 11
2013-01-01 MX y 14
2013-01-02 USA x 20
2013-01-02 USA y 19
2013-01-02 MX x 14
2013-01-02 MX y 16
Run Code Online (Sandbox Code Playgroud)
我想将其转换为表单
date Country x y
2013-01-01 USA 23 13
2013-01-01 MX 11 14
2013-01-02 USA 20 19
2013-01-02 MX 14 16
Run Code Online (Sandbox Code Playgroud)
一般来说,我正在寻找一种使用单列的唯一值转换表的方法.
我看过了pivot,groupby但没有得到确切的表格.
提示:可能这是可以解决的,pivot但我无法得到表格
我有一个test包含敏感代码的小辅助函数。为了屏蔽此代码,我hello.pyx在包中编写并使用了该函数mypackage。
我可以通过将setup.pyfor 包修改为以下内容来构建和使用它:
import os
from setuptools import setup, find_packages
from Cython.Build import cythonize
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
setup(
name='mypackage',
ext_modules = cythonize('mypackage/hello.pyx'),
packages=find_packages(),
include_package_data=True,
)
Run Code Online (Sandbox Code Playgroud)
但是,当我通过python setup.pyor构建/安装它时pip install,生成的 cythonhello.c以及hello.so被放置在安装目录中(在我的情况下~/.local/python2.7/site-packages/mypackage/)
我可以hello.c从安装目录中手动删除(只留下hello.so文件)并且包运行良好。
有没有办法可以自动化这个过程,这样我就不需要手动删除编译的c文件?
我看着这个stackoverflow 问题。但是,当我尝试使用pip wheel .. 另外,就我而言,只要安装的代码不包含纯文本文件,我就可以使用 tar.gz 进行安装hello.c
[编辑]
我能够.c通过include_package_data=False在我的setup.py.. 中使用来停止将文件放入安装目录
我对此相当菜鸟,并且一直在尝试将requests模块用于post多部分/表单数据。为了澄清这一点,我尝试使用的确切测试用例与https://github.com/kennethreitz/requests/issues/1081中的测试用例相同 。即我正在尝试执行post没有文件的操作:
--3eeaadbfda0441b8be821bbed2962e4d
Content-Disposition: form-data; name="key1"
value1
--3eeaadbfda0441b8be821bbed2962e4d
Run Code Online (Sandbox Code Playgroud)
根据线程上的讨论,我尝试了多部分表单数据方案来执行以下操作:
import requests
from requests_data_schemes import multipart_formdata as mfd
post_data = [('mouseAction', 'toggle'), ('zone' ,'10')]
post_data = mfd(post_data)
headers = {'Content-Type': 'multipart/form-data'}
req = requests.post(<url>, data=post_data, headers=headers)
Run Code Online (Sandbox Code Playgroud)
但是,测试服务器向我抛出一个错误,指出它无法检测多部分表单数据的边界。
我也尝试在标题中提供边界,但显然它不起作用。
boundary = post_data[2: post_data.find('\r\n')]
headers = {'Content-Type': 'multipart/form-data; boundary={}'.format(boundary)}
Run Code Online (Sandbox Code Playgroud)
我错过了一些简单的事情吗?
PS:通过一些冲浪,我发现了一些使用 base 的解决方案urllib2,但这将是我最后的手段,因为requests它让我可以轻松地做很多事情。
我想从多个进程写入一个文件.确切地说,我宁愿不使用多处理队列解决方案进行多处理,因为有几个子模块由其他开发人员编写.但是,对此类子模块的每次写入都与写入zmq队列相关联.有没有办法将zmq消息重定向到文件?具体来说,我正在寻找http://www.huyng.com/posts/python-logging-from-multiple-processes/的内容,而不使用该logging模块.
python ×8
pandas ×3
python-2.7 ×3
choropleth ×1
csv ×1
cython ×1
cythonize ×1
dataframe ×1
folium ×1
optimization ×1
pyzmq ×1
r ×1
scipy ×1
zeromq ×1