将空列添加到pandas DataFrame对象的最简单方法是什么?我偶然发现的最好的就像是
df['foo'] = df.apply(lambda _: '', axis=1)
Run Code Online (Sandbox Code Playgroud)
是否有一种不那么不正常的方法?
Matplotlib似乎需要$ DISPLAY环境变量,这意味着正在运行的X服务器.
某些Web托管服务不允许运行X服务器会话.
有没有办法在没有正在运行的X服务器的情况下使用matplotlib生成图形?
[username@hostname ~]$ python2.6
Python 2.6.5 (r265:79063, Nov 23 2010, 02:02:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/pyplot.py", line 270, in figure
**kwargs)
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
window = Tk.Tk()
File "/usr/local/lib/python2.6/lib-tk/Tkinter.py", line 1643, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, …Run Code Online (Sandbox Code Playgroud) 我想制作一个散点图(使用matplotlib),其中根据第三个变量对点进行着色.我非常接近这个:
plt.scatter(w, M, c=p, marker='s')
Run Code Online (Sandbox Code Playgroud)
其中w和M是数据点,p是我想要相对的变量.
但是我想用灰度而不是颜色来做.有人可以帮忙吗?
为了删除图中的帧,我写了
frameon=False
Run Code Online (Sandbox Code Playgroud)
与之完美搭配pyplot.figure,但只有matplotlib.Figure它才能消除灰色背景,框架保持不变.另外,我只想显示线条,图中所有其余部分都是透明的.
使用pyplot我可以做我想做的事情,我想用matplotlib来做这件事有一个长期的原因我宁愿不提及我的问题.
我正在尝试在新的virtualenv中安装matplotlib.
当我做:
pip install matplotlib
Run Code Online (Sandbox Code Playgroud)
要么
pip install http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
building 'matplotlib._png' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -fPIC - DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/usr/local/include -I/usr/include -I. -I/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/numpy/core/include -I. -I/usr/include/python2.7 -c src/_png.cpp -o build/temp.linux-x86_64-2.7/src/_png.o
src/_png.cpp:10:20: fatal error: png.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
任何人都知道发生了什么事?
任何帮助非常感谢.
我正在使用numpy并希望索引一行而不会丢失维度信息.
import numpy as np
X = np.zeros((100,10))
X.shape # >> (100, 10)
xslice = X[10,:]
xslice.shape # >> (10,)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,xslice现在是1维,但我希望它是(1,10).在R中,我会使用X [10,:,drop = F].numpy中有类似的东西吗?我在文档中找不到它,也没有看到类似的问题.
谢谢!
我在pandas DataFrame中有一个列,我想在一个空格上拆分.拆分很简单DataFrame.str.split(' '),但我不能从最后一个条目创建一个新列.当我.str.split()在列中获得数组列表时,我不知道如何操作它来为我的DataFrame获取新列.
这是一个例子.该列中的每个条目都包含"符号数据价格",我想分拆价格(最终在一半的情况下删除"p"...或"c").
import pandas as pd
temp = pd.DataFrame({'ticker' : ['spx 5/25/2001 p500', 'spx 5/25/2001 p600', 'spx 5/25/2001 p700']})
temp2 = temp.ticker.str.split(' ')
Run Code Online (Sandbox Code Playgroud)
产量
0 ['spx', '5/25/2001', 'p500']
1 ['spx', '5/25/2001', 'p600']
2 ['spx', '5/25/2001', 'p700']
Run Code Online (Sandbox Code Playgroud)
但temp2[0]只是给出一个列表条目的数组并temp2[:][-1]失败.如何将每个数组中的最后一个条目转换为新列?谢谢!
到目前为止,我有以下代码:
colors = ('k','r','b')
ax = []
for i in range(3):
ax.append(plt.axes())
plt.plot(datamatrix[:,0],datamatrix[:,i],colors[i]+'o')
ax[i].set(autoscale_on=True)
Run Code Online (Sandbox Code Playgroud)
通过autoscale_on=True每个轴的选项,我认为每个绘图应该有自己的y轴限制,但看起来它们都共享相同的值(即使它们共享不同的轴).如何将它们设置为缩放以显示每个的范围datamatrix[:,i](只是显式调用.set_ylim()?)而且,如何为datamatrix[:,2]上面可能需要的第三个变量()创建偏移y轴?谢谢大家.
我有这种形状的numpy数组:(33,10).当我绘制轮廓时,我会得到这样丑陋的图像:
虽然contour()似乎没有关于平滑或某种插值特征的任何争论.
我不知何故预计提供等高线图的工具也应该提供平滑.
有没有直接的方法在MPL中做到这一点?
假设我有一个for循环,我想绘制不同颜色的点:
for i in range(5):
plt.plot(x,y,col=i)
Run Code Online (Sandbox Code Playgroud)
如何在for循环中自动更改颜色?
python ×10
matplotlib ×7
pandas ×2
numpy ×1
pip ×1
plot ×1
scatter ×1
split ×1
string ×1
virtualenv ×1