我目前正在使用 Jupyter IPython Notebook。我想将我的笔记本置于版本控制之下。
这就是为什么当我保存并检查笔记本(.ipynb 文件)时,我希望更改也保存并同步到同一文件夹中的相应 python 脚本(.py 文件)中。(见下图)
它与我使用的 Jupyter 版本有关吗?还是我必须编辑 config_file?
谢谢
之前已经回答过在IPython Notebook中显示LaTeX的行,但是在IPython Notebook中绘图时,你如何用LaTeX字符串标记绘图的轴?
我正在尝试使用IPython笔记本.我不能让LaTeX工作:
$$ x + 3 $$
File "<ipython-input-1-0f8a1bc96d90>", line 1
$$ x + 3 $$
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我正在使用Ubuntu 12.04和ipython 0.12.1.如果升级到0.13可以解决我的问题,请解释如何做到这一点,因为我的尝试失败了.
我经常处理具有非常"长尾"的数据.我想绘制直方图以总结分布,但是当我尝试使用熊猫时,我最终得到一个条形图,其中有一个巨大的可见条和其他一切都看不见.
这是我正在使用的系列的一个例子.由于它很长,我使用了value_counts(),因此它适合这个页面.
In [10]: data.value_counts.sort_index()
Out[10]:
0 8012
25 3710
100 10794
200 11718
300 2489
500 7631
600 34
700 115
1000 3099
1200 1766
1600 63
2000 1538
2200 41
2500 208
2700 2138
5000 515
5500 201
8800 10
10000 10
10900 465
13000 9
16200 74
20000 518
21500 65
27000 64
53000 82
56000 1
106000 35
530000 3
Run Code Online (Sandbox Code Playgroud)
我猜这个答案涉及将不太常见的结果分类到较大的组中(53000,56000,106000和53000组成一组> 50000等),并且还改变y指数来代表事件的百分比而不是绝对数量.但是,我不明白我将如何自动执行此操作.
我想为Ipython笔记本使用另一个主题,所以我按照这个说明问题是我在OSX中,我没有wget,我安装了自制软件.有人可以帮我设置一个黑暗主题的ipython笔记本吗?我试过这个:
brew /Users/user/.ipython/profile_notebooks/static/custom/custom.css
https://raw.githubusercontent.com/nsonnad/base16-ipython-notebook/master/base16-ocean-dark.css
Run Code Online (Sandbox Code Playgroud) 我的问题是:如何编写可以访问IPython笔记本命名空间的IPython单元魔术?
IPython允许编写用户定义的单元格魔术.我的计划是创建一个绘图函数,它可以绘制一个或多个任意Python表达式(基于Pandas Series对象的表达式),其中单元格字符串中的每一行都是图表中的单独图形.
这是细胞魔法的代码:
def p(line, cell):
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame()
line_list = cell.split('\n')
counter = 0
for line in line_list:
df['series' + str(counter)] = eval(line)
counter += 1
plt.figure(figsize = [20,6])
ax = plt.subplot(111)
df.plot(ax = ax)
def load_ipython_extension(ipython):
ipython.register_magic_function(p, 'cell')
Run Code Online (Sandbox Code Playgroud)
该函数以字符串形式接收整个单元格内容.然后,该字符串由换行符拆分,并使用eval()进行评估.结果将添加到Pandas DataFrame中.最后,使用matplotlib绘制DataFrame.
用法示例:首先在IPython笔记本中定义Pandas Series对象.
import pandas as pd
ts = pd.Series([1,2,3])
Run Code Online (Sandbox Code Playgroud)
然后在IPython笔记本中调用魔法(下面的整个代码是一个单元格):
%%p
ts * 3
ts + 1
Run Code Online (Sandbox Code Playgroud)
此代码失败,并显示以下错误:
NameError: name 'ts' is not defined
Run Code Online (Sandbox Code Playgroud)
我怀疑问题是该p函数只接收ts * …
我将数据存储在使用Python存储在SQLITE数据库中的pandas数据框中。当我尝试查询其中的表时,我可以获得结果,但没有列名。有人可以指导我吗?
sql_query = """Select date(report_date), insertion_order_id, sum(impressions), sum(clicks), (sum(clicks)+0.0)/sum(impressions)*100 as CTR
from RawDailySummaries
Group By report_date, insertion_order_id
Having report_date like '2014-08-12%' """
cursor.execute(sql_query)
query1 = cursor.fetchall()
for i in query1:
print i
Run Code Online (Sandbox Code Playgroud)
以下是我得到的输出
(u'2014-08-12', 10187, 2024, 8, 0.3952569169960474)
(u'2014-08-12', 12419, 15054, 176, 1.1691244851866613)
Run Code Online (Sandbox Code Playgroud)
我需要怎么做才能以表格形式显示结果以及列名称
我有一个名为amount的列,其中包含如下所示的值:$ 3,092.44当我执行dataframe.dtypes()此操作时,该列将其作为对象返回,如何将该列转换为int类型?
有没有办法interact(f)忽略其中的某些论点f?我相信我有一个用于传递数据框的默认参数的事实,对此感到困惑。这是我的功能:
def show_stats(start,end,df_pnl=df_pnl):
mask = df_pnl['Fulldate'] >= start & df_pnl['FullDate'] <= end
df_pnl = df_pnl[mask]
#do some more transformations here
display(df_pnl)
Run Code Online (Sandbox Code Playgroud)
这是我想要做的:
interact(show_stats,start=start_str,end=today_str)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
我假设它interact以某种方式更改df_pnl为字符串(因为它在交互输出中提供了列标题的下拉列表),但失败了,因为它随后尝试对df_pnl['Fulldate'].....字符串执行操作,从而导致显示错误。
我该如何解决?我可以从函数中排除该参数,同时使它继续在正确的数据帧上工作吗?交互中是否可以忽略函数中的某些参数?
谢谢
python-3.x ipython-notebook jupyter jupyter-notebook ipywidgets
我已经使用公寓安装了HoloViews并且import HoloViews as hv在我的笔记本中.但是当我尝试运行一个单元格时%%opts,我收到标题中提到的错误消息.
我正在使用python 3内核的python笔记本
ipython-notebook ×10
python ×7
ipython ×5
pandas ×3
jupyter ×2
latex ×2
matplotlib ×2
cursor ×1
histogram ×1
holoviews ×1
ipywidgets ×1
macos ×1
python-2.7 ×1
python-3.x ×1
sql ×1
ubuntu ×1