我在熊猫中创建了一个TimeSeries:
In [346]: from datetime import datetime
In [347]: dates = [datetime(2011, 1, 2), datetime(2011, 1, 5), datetime(2011, 1, 7),
.....: datetime(2011, 1, 8), datetime(2011, 1, 10), datetime(2011, 1, 12)]
In [348]: ts = Series(np.random.randn(6), index=dates)
In [349]: ts
Out[349]:
2011-01-02 0.690002
2011-01-05 1.001543
2011-01-07 -0.503087
2011-01-08 -0.622274
2011-01-10 -0.921169
2011-01-12 -0.726213
Run Code Online (Sandbox Code Playgroud)
我正在关注"Python for Data Analysis"一书中的示例.
在以下段落中,作者检查索引类型:
In [353]: ts.index.dtype
Out[353]: dtype('datetime64[ns]')
Run Code Online (Sandbox Code Playgroud)
当我在控制台中执行完全相同的操作时,我得到:
ts.index.dtype
dtype('<M8[ns]')
Run Code Online (Sandbox Code Playgroud)
什么是两种类型之间的区别'datetime64[ns]'和'<M8[ns]'?
为什么我会得到另一种类型?
键入string.whitespace为您提供一个字符串,其中包含Python string模块定义的所有空白字符:
'\t\n\x0b\x0c\r '
Run Code Online (Sandbox Code Playgroud)
双方\x0b并\x0c似乎给了一个垂直的标签.
>>> print 'first\x0bsecond'
first
second
Run Code Online (Sandbox Code Playgroud)
\v给出了同样的效果.这三种有什么不同?为什么string模块使用\x0b或\x0c更简单\v?
在实例化示例中的类时,是否可以将PyCharm设置为自动填充参数?
3:48 自动填充参数
我已经创建了一个 anaconda 环境。当我激活环境时,我可以看到环境使用的 Python 版本与我的默认 Python 版本不同。这是对的。但是,当我在激活的环境中检查 python 路径时。
import sys
from pprint import pprint
pprint(sys.path)
Run Code Online (Sandbox Code Playgroud)
我可以看到前 4 项指向默认的 Python 安装。
['', 'C:\\Python27\\Lib\\site-packages\\distribute-0.6.35-py2.7.egg', 'C:\\Python27\\Lib\\site-packages\\ipython-1.0.0-py2.7.egg', 'C:\\Python27\\Lib\\site-packages', 'C:\\Python27\\Lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\python27.zip', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\DLLs', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\plat-win', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\lib-tk', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\PIL', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\Sphinx-1.2.3-py2.7.eg g', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\win32', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\win32\\lib', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\Pythonwin', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\runipy-0.1.1-py2.7.eg g', 'C:\\Users\\sennn\\AppData\\Local\\Continuum\\Anaconda32\\envs\\apiapi\\lib\\site-packages\\setuptools-5.8-py2.7. egg']
Run Code Online (Sandbox Code Playgroud)
这会导致导入某些库的错误版本的问题。
为什么这些默认目录已添加到路径中?这是创建新 Anaconda 环境时的默认行为吗?有没有办法覆盖它?
我使用python markdown2模块处理服务器上的字符串.
marked_up = ' import sys\n print "hello there"'
marked_up = unicode(markdown2.markdown(marked_up, extras=["fenced-code-blocks"]))
Run Code Online (Sandbox Code Playgroud)
然后,我将值通过jinja2传递给客户端:
template_value = {'marked_up': marked_up}
template = JINJA_ENVIRONMENT.get_template('index.html')
self.response.write(template.render(template_value))
Run Code Online (Sandbox Code Playgroud)
在index.html中,我尝试显示这个标记的值:
<div class="row marketing" id="my_row_mark">
{{ marked_up }}
</div>
Run Code Online (Sandbox Code Playgroud)
问题是文本显示为html属性:
<pre><code>import sys print "hello there" </code></pre>
Run Code Online (Sandbox Code Playgroud)
我只想看到:
import sys print "hello there"
Run Code Online (Sandbox Code Playgroud)
使用markdown2应用的正确降价.
我有两个在大多数方面不同的类,但它们有一个共同的方法.我想从B类中调用这个方法(属于A类):
它会是这样的:
class classA():
def m():
pass
class classB():
classB_instance = classB()
classB_instance.m() #here I would like to call a method m() which belongs to class A
Run Code Online (Sandbox Code Playgroud)
我知道可以从classA继承这个方法,但是我不想在这里使用继承,因为classA有其他与classB无关的方法.
但是,我很乐意使用"限制性继承".我的意思是......我只想继承这个方法,但保留其他方法/属性.
这可能在Python中吗?
如何重新安装 Python 并保留所有现有模块和设置?
问题出在 Google App Engine、Ubuntu、Python 2.7 上的 SQlite3。
当我尝试运行脚本时,我得到:
raise ImportError('No module named %s' % fullname)
ImportError: No module named _sqlite3
Run Code Online (Sandbox Code Playgroud)
sqlite3 已正确安装,当我在 Python 控制台上导入它时,它不会引发错误。但是当我使用 GAE 运行开发服务器时 - 我收到此错误。
其他 stackoverflow 问题的建议是重建 python。
我从来没有这样做过,我担心弄乱其他一些模块/配置 - 因此询问是否有任何安全的方法来确保它不会破坏。
python ×7
python-2.7 ×2
anaconda ×1
class ×1
datetime64 ×1
escaping ×1
html ×1
ide ×1
jinja2 ×1
markdown ×1
numpy ×1
pandas ×1
pycharm ×1
string ×1
whitespace ×1