以下面的DataFrame为例,
In [83]:
df = pd.DataFrame({'A':[1,1,2,2],'B':[1,2,1,2],'values':np.arange(10,30,5)})
df
Out[83]:
A B values
0 1 1 10
1 1 2 15
2 2 1 20
3 2 2 25
Run Code Online (Sandbox Code Playgroud)
生成包含其中一列的数据聚合的新列的简单方法是什么?
例如,如果我总结values项目A
In [84]:
df.groupby('A').sum()['values']
Out[84]:
A
1 25
2 45
Name: values
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到
A B values sum_values_A
0 1 1 10 25
1 1 2 15 25
2 2 1 20 45
3 2 2 25 45
Run Code Online (Sandbox Code Playgroud) 我已将IPython笔记本转换为HTML格式,随后丢失了原始的ipynb文件.
有没有一种简单的方法从转换后的HTML文件生成原始笔记本文件?
我正在尝试使用新的JupyterLab并且无法保存数据.使用香草Jupyter笔记本,我可以双指点击(使用macOS,Safari或Chrome),我得到一个浏览器菜单,允许我复制或保存图形.
在JupyterLab中,此菜单由具有单元格相关功能的笔记本特定的菜单替换,如下所示:
有没有办法可以直接从JupyterLab笔记本中保存一个数字?
在关于GroupBy对象的新方法的pandas文档的示例中.pipe(),.apply()接受相同lambda 的方法将返回相同的结果.
In [195]: import numpy as np
In [196]: n = 1000
In [197]: df = pd.DataFrame({'Store': np.random.choice(['Store_1', 'Store_2'], n),
.....: 'Product': np.random.choice(['Product_1', 'Product_2', 'Product_3'], n),
.....: 'Revenue': (np.random.random(n)*50+10).round(2),
.....: 'Quantity': np.random.randint(1, 10, size=n)})
In [199]: (df.groupby(['Store', 'Product'])
.....: .pipe(lambda grp: grp.Revenue.sum()/grp.Quantity.sum())
.....: .unstack().round(2))
Out[199]:
Product Product_1 Product_2 Product_3
Store
Store_1 6.93 6.82 7.15
Store_2 6.69 6.64 6.77
Run Code Online (Sandbox Code Playgroud)
我可以看到pipe功能与applyDataFrame对象的不同之处,但不适用于GroupBy对象.有没有人对GroupBy 有什么解释或示例,pipe但没有apply?
在Python中,我可以轻松地加入字符串列表的内容,由一组字符分隔,这样:
>>> L = ["A","B","C"]
>>> string.join(L,"_")
'A_B_C'
Run Code Online (Sandbox Code Playgroud)
在MATLAB中,我可以通过这种方式连接字符串的单元格数组:
>> L = {'A','B','C'};
>> [L{:}] % or strcat(L{:}), with trimming of trailing spaces
ans =
ABC
Run Code Online (Sandbox Code Playgroud)
在MATLAB中是否有简单的命令模仿string.join添加分隔符的能力?
我知道这可以通过怪诞的结构来完成,例如
[sprintf('%s_',L{1:end-1}), L{end}]
Run Code Online (Sandbox Code Playgroud)
除其他外,还有一种更简单的方法吗?
我正在为通过 Flask 下的路由调用的代码编写测试用例。我不想通过设置测试应用程序并调用命中路由的 URL 来测试代码,我想直接调用该函数。为了完成这项工作,我需要模拟 flask.request 并且我似乎无法管理它。谷歌/stackoverflow 搜索导致了很多答案,这些答案展示了如何设置一个测试应用程序,这又不是我想要做的。
代码看起来像这样。
somefile.py
-----------
from flask import request
def method_called_from_route():
data = request.values
# do something with data here
test_somefile.py
----------------
import unittest
import somefile
class SomefileTestCase(unittest.TestCase):
@patch('somefile.request')
def test_method_called_from_route(self, mock_request):
# want to mock the request.values here
Run Code Online (Sandbox Code Playgroud)
我有两个问题。
(1) 如我在上面勾画的那样修补请求不起作用。我收到类似于“AttributeError: 'Blueprint' object has no attribute 'somefile'”的错误
(2) 如果我可以修补它,我不知道如何准确地模拟请求对象。它实际上没有 return_value 因为它不是一个函数。
我再次找不到任何关于如何做到这一点的例子,所以我觉得一个新问题是可以接受的。
我正在使用genfromtxt来导入一个二维数组,该数组的所有值都列在表单的文本文件中(x和y是整数):
x1 y1 z1
x2 y2 z2
: : :
Run Code Online (Sandbox Code Playgroud)
我正在使用下面的for循环,但我很确定必须采用一行方式来实现它.什么是更有效的方式来进行这种转换?
raw = genfromtxt(file,skip_header = 6)
xrange = ( raw[:,0].min() , raw[:,0].max() )
yrange = ( raw[:,1].min() , raw[:,1].max() )
Z = zeros(( xrange[1] - xrange[0] +1 , yrange[1] - yrange[0] +1 ))
for row in raw:
Z[ row[0]-xrange[0] , row[1]-yrange[0] ] = row[2]
Run Code Online (Sandbox Code Playgroud) 我正在为MATLAB中这个非常简单的问题寻找一个优雅的解决方案.假设我有一个矩阵
>> M = magic(5)
M =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
Run Code Online (Sandbox Code Playgroud)
和形式的逻辑变量
I =
0 0 0 0 0
0 1 1 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
如果我尝试检索与值M相关联的元素,我会得到一个列向量1I
>> M(I)
ans =
5
6
7
13
Run Code Online (Sandbox Code Playgroud)
[5 7 ; 6 13]从这个逻辑索引中获取矩阵的最简单方法是什么?
如果我知道非零元素的形状 …
有没有一种方法可以从命令行获取所有可用的YARN队列的列表,而无需求助于分析capacity-scheduler.xml文件?
我正在使用Hadoop 2.7.2版
我有一个遵循以下模式的matlab结构:
S.field1.data1
...
.field1.dataN
...
.fieldM.data1
...
.fieldM.dataN
Run Code Online (Sandbox Code Playgroud)
我想data3同时从所有字段为一个数据字段(例如)分配值.这在语义上类似于:
S.*.data3 = value
Run Code Online (Sandbox Code Playgroud)
通配符"*"表示(field1,...,fieldM)结构中的所有字段.这是否可以在没有matlab循环的情况下完成?
python ×5
matlab ×3
jupyter ×2
pandas ×2
addressing ×1
hadoop ×1
hadoop-yarn ×1
indexing ×1
ipython ×1
jupyter-lab ×1
matrix ×1
mocking ×1
nbconvert ×1
nose ×1
numpy ×1
python-3.x ×1
submatrix ×1