我正在尝试使用MysqlDB将一个Pandas数据帧(或者可以使用numpy数组)写入mysql数据库.MysqlDB似乎不理解'nan',我的数据库抛出一个错误,说nan不在字段列表中.我需要找到一种方法将'nan'转换为NoneType.
有任何想法吗?
scipy.spatial.distance.pdist
返回压缩距离矩阵.从文档:
返回压缩距离矩阵Y.对于每个和(where),度量dist(u = X [i],v = X [j])被计算并存储在条目ij中.
我以为ij
是的意思i*j
.但我想我可能错了.考虑
X = array([[1,2], [1,2], [3,4]])
dist_matrix = pdist(X)
Run Code Online (Sandbox Code Playgroud)
然后文档说dist(X[0], X[2])
应该是dist_matrix[0*2]
.但是,dist_matrix[0*2]
它应该是0 - 而不是2.8.
我应该使用什么公式来获取两个向量的相似性,给定i
和j
?
我想创建一个二维numpy数组数组,每行有不同数量的元素.
试
cells = numpy.array([[0,1,2,3], [2,3,4]])
Run Code Online (Sandbox Code Playgroud)
给出错误
ValueError: setting an array element with a sequence.
Run Code Online (Sandbox Code Playgroud) 我试图用pandas read_csv
方法读取一个简单的空格分隔文件.但是,大熊猫似乎并没有遵守我的dtype
观点.也许我错误地指定了它?
read_csv
对于这个简单的测试用例,我已经提炼了一些复杂的调用.我实际上converters
在我的"真实"场景中使用了这个参数,但为了简单起见我删除了它.
以下是我的ipython会话:
>>> cat test.out
a b
0.76398 0.81394
0.32136 0.91063
>>> import pandas
>>> import numpy
>>> x = pandas.read_csv('test.out', dtype={'a': numpy.float32}, delim_whitespace=True)
>>> x
a b
0 0.76398 0.81394
1 0.32136 0.91063
>>> x.a.dtype
dtype('float64')
Run Code Online (Sandbox Code Playgroud)
我也尝试过这种使用这种具有dtype
的numpy.int32
或numpy.int64
.这些选择导致异常:
AttributeError: 'NoneType' object has no attribute 'dtype'
Run Code Online (Sandbox Code Playgroud)
我假设AttributeError
是因为pandas不会自动尝试将浮点值转换/截断为整数?
我正在使用32位版本的Python运行32位机器.
>>> !uname -a
Linux ubuntu 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 …
Run Code Online (Sandbox Code Playgroud) 我有一个数组:
x = numpy.array([-inf, -inf, 37.49668579])
Run Code Online (Sandbox Code Playgroud)
有没有办法将-inf值更改为0?
如何删除二维numpy
数组的重复行?
data = np.array([[1,8,3,3,4],
[1,8,9,9,4],
[1,8,3,3,4]])
Run Code Online (Sandbox Code Playgroud)
答案应如下:
ans = array([[1,8,3,3,4],
[1,8,9,9,4]])
Run Code Online (Sandbox Code Playgroud)
如果有两行相同,那么我想删除一个"重复"行.
在Windows上,我通常只使用二进制安装程序,但是这次我只想在virtualenv中安装NumPy,所以我创建了一个虚拟环境:
virtualenv --no-site-packages --distribute summary_python
cd summary_python/Scripts
activate.bat
Run Code Online (Sandbox Code Playgroud)
然后我尝试安装NumPy
pip install numpy
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.我的pip.log粘贴在下面:
Downloading/unpacking numpy
Running setup.py egg_info for package numpy
non-existing path in 'numpy\\distutils': 'site.cfg'
F2PY Version 2
blas_opt_info:
blas_mkl_info:
libraries mkl,vml,guide not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries mkl,vml,guide not found in C:\
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries ptf77blas,ptcblas,atlas not found in C:\
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in c:\Users\fname.lname\Documents\summary_python\lib
libraries f77blas,cblas,atlas not found in C:\
NOT AVAILABLE
blas_info: …
Run Code Online (Sandbox Code Playgroud) 我想在该范围内生成随机数,-1, 1
并希望每个人都有相同的生成概率.即我不希望极端情况不太可能出现.这样做的最佳方式是什么?
到目前为止,我使用过:
2 * numpy.random.rand() - 1
Run Code Online (Sandbox Code Playgroud)
并且:
2 * numpy.random.random_sample() - 1
Run Code Online (Sandbox Code Playgroud) 当我尝试绘制一个带有日期时间的pandas DataFrame列的切片时,我得到了一个KeyError.有人知道是什么原因引起的吗?
我设法在一个小的自包含示例中重现错误(您也可以在此处查看:http://nbviewer.ipython.org/3714142/):
import numpy as np
from pandas import DataFrame
import datetime
from pylab import *
test = DataFrame({'x' : [datetime.datetime(2012,9,10) + datetime.timedelta(n) for n in range(10)],
'y' : range(10)})
Run Code Online (Sandbox Code Playgroud)
现在,如果我绘图:
plot(test['x'][0:5])
Run Code Online (Sandbox Code Playgroud)
没有问题,但是当我绘制时:
plot(test['x'][5:10])
Run Code Online (Sandbox Code Playgroud)
我得到下面的KeyError(错误消息对我来说不是很有帮助).这仅发生日期时间列,不能与其他列(据我所经历).例如,plot(test['y'][5:10])
这不是问题.
Ther错误消息:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-7-aa076e3fc4e0> in <module>()
----> 1 plot(test['x'][5:10])
C:\Python27\lib\site-packages\matplotlib\pyplot.pyc in plot(*args, **kwargs)
2456 ax.hold(hold)
2457 try:
-> 2458 ret = ax.plot(*args, **kwargs)
2459 draw_if_interactive()
2460 finally:
C:\Python27\lib\site-packages\matplotlib\axes.pyc in plot(self, *args, …
Run Code Online (Sandbox Code Playgroud) 我有一个火炬张量
a = torch.randn(1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 numpy 中得到它?
就像是
b = a.tonumpy()
Run Code Online (Sandbox Code Playgroud)
输出应该和我一样
b = np.random.randn(1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud) numpy ×10
python ×10
pandas ×3
arrays ×2
infinity ×1
matplotlib ×1
mysql-python ×1
pip ×1
pytorch ×1
random ×1
scipy ×1
virtualenv ×1
windows ×1