小编All*_*len的帖子

更改链式操作中的所有列名

我有一个数据框:

df = pd.DataFrame(data=[[1,2]], columns=['a', 'b'])
Run Code Online (Sandbox Code Playgroud)

我知道我可以执行以下操作来更改数据框中的所有列名称:

df.columns = ['d', 'e']
Run Code Online (Sandbox Code Playgroud)

如何更改链式操作中的所有列名?例如,我想做这样的事情:

df=(
    df.rename all column names
    .reset_index()
)
Run Code Online (Sandbox Code Playgroud)

我能找到的唯一方法是使用df.rename和构建一个包含新旧列对的字典,但这看起来非常难看。有没有更优雅的解决方案?

谢谢。

python pandas

4
推荐指数
1
解决办法
570
查看次数

PyTorch:如何在Transfer Learning教程中计算平均值和stds?

我正在浏览PyTorch Transfer Learning教程:link

在数据增强阶段,有以下步骤来规范化图像:

transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
Run Code Online (Sandbox Code Playgroud)

我能理解为什么会这样做,但我找不到平均值和标准值是如何计算的?我试着计算列车数据集的平均值,平均值是:

array([ 0.11727478,  0.04542569, -0.28624609], dtype=float32)
Run Code Online (Sandbox Code Playgroud)

python pytorch

4
推荐指数
1
解决办法
2335
查看次数

C语言中的拆分和连接字符串

我在大学里学过C但是已经有好几年没用了.最近我开始研究一种使用C作为编程语言的工具.现在我坚持一些非常基本的功能.其中有如何使用分隔符拆分和连接字符串?(我非常想念Python,甚至Java或C#!)

下面是我创建的用于拆分字符串的函数,但它似乎无法正常工作.此外,即使此功能有效,分隔符也只能是单个字符.如何使用字符串作为分隔符?

有人可以提供一些帮助吗?

理想情况下,我想有两个功能:

//  Split a string into a string array
char** fSplitStr(char *str, const char *delimiter);

//  Join the elements of a string array to a single string
char* fJoinStr(char **str, const char *delimiter);
Run Code Online (Sandbox Code Playgroud)

谢谢,

艾伦

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

char** fSplitStr(char *str, const char *delimiters)
{
    char * token; 
    char **tokenArray;
    int count=0;
    token = (char *)strtok(str, delimiters); // Get the first token
    tokenArray = (char**)malloc(1 * sizeof(char*));

    if (!token) {       
        return tokenArray;  
} 

    while …
Run Code Online (Sandbox Code Playgroud)

c

3
推荐指数
1
解决办法
6606
查看次数

Numpy einsum广播

有人可以解释广播(省略号)如何在numpy.einsum()函数中工作?

将非常感谢一些示例来说明如何以及何时使用它.

我检查了以下官方文档页面,但只有2个例子,我似乎无法理解如何解释它并使用它.

http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.einsum.html

python numpy numpy-einsum

3
推荐指数
1
解决办法
748
查看次数

Numpy:根据列索引数组设置每行的 1 个元素

假设我有以下数组:

a = np.zeros([4,3])
b = np.asarray([0,1,2,1])
Run Code Online (Sandbox Code Playgroud)

现在如何根据数组 b 指示的列索引将数组 a 中的每一行的元素设置为 1?我需要的是一个数组 c ,如下所示:

[[ 1.  0.  0.]
 [ 0.  1.  0.]
 [ 0.  0.  1.]
 [ 0.  1.  0.]]
Run Code Online (Sandbox Code Playgroud)

或者,有没有办法直接将数组 b 转换为数组 c?

python arrays numpy

3
推荐指数
1
解决办法
2688
查看次数

Numpy:使用掩码数组的条件求和行

假设我有数组a和数组掩码,

Array a:
[[1,1,2]
 [2,2,3]
 [3,5,2]
 [2,3,4]]

Array mask:
[[0,1]
 [1,1]
 [1,0]
 [0,0]]
Run Code Online (Sandbox Code Playgroud)

如何以如下所示的numpy方式生成具有形状(2,3)的数组c:

Array c:
[[5, 3],
 [7, 3],
 [5, 5]])
Run Code Online (Sandbox Code Playgroud)

其中第1列是由掩码[:,0]表示的数组a的总和,第2列是掩码[:,1]指示的行的总和,如下所示:

c[:0] = a[1]+a[2]

c[:1] = a[0]+a[1]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

3
推荐指数
1
解决办法
466
查看次数

SQL:过去 30 天内按组滚动总和

我有一张如下表:

date, custid, sales
2015-01-01, 01, 100
2015-01-10, 01, 200
2015-02-05, 01, 300
2015-03-02, 01, 400
2015-03-03, 01, 500
2015-01-01, 02, 100
2015-01-10, 02, 200
2015-02-05, 02, 300
2015-03-02, 02, 400
2015-03-03, 02, 500
...
Run Code Online (Sandbox Code Playgroud)

如何按日期和 custid 生成过去 30 天的滚动销售总额。

所需的输出是:

date, custid, running_30_day_sales
2015-01-01, 01, 100
2015-01-10, 01, 300 --(100+200)
2015-02-05, 01, 500 --(200+300)
2015-03-02, 01, 700 --(300+400)
2015-03-03, 01, 1200 -- (300+400+500)
2015-01-01, 02, 100
2015-01-10, 02, 300 --(100+200)
2015-02-05, 02, 500 --(200+300)
2015-03-02, 02, 700 --(300+400)
2015-03-03, …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

3
推荐指数
1
解决办法
6864
查看次数

Numpy:按行减去 2 个 numpy 数组

我有 2 个 numpy 数组 a 和 b 如下:

a = np.random.randint(0,10,(3,2))
Out[124]: 
array([[0, 2],
       [6, 8],
       [0, 4]])
b = np.random.randint(0,10,(2,2))
Out[125]: 
array([[5, 9],
       [2, 4]])
Run Code Online (Sandbox Code Playgroud)

我想从 a 中的每一行中减去 b 中的每一行,所需的输出形状为(3,2,2):

array([[[-5, -7],        [-2, -2]],

       [[ 1, -1],        [ 4,  4]],

       [[-5, -5],        [-2,  0]]])
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法来做到这一点:

print(np.c_[(a - b[0]),(a - b[1])].reshape(3,2,2))
Run Code Online (Sandbox Code Playgroud)

但我需要一个完全矢量化的解决方案或内置的 numpy 函数来执行此操作。

python numpy

3
推荐指数
1
解决办法
5069
查看次数

MathJax 无法在 Github 页面上正确渲染某些方程

我已经在我的 Github 页面站点上配置了 Mathjax,它可以正确渲染一些方程,但不能正确渲染其他方程。

它可以正确地呈现以下方程:

\\[ \frac{1}{n^{2}} \\]

\\[ J(\theta) = \frac{1}{2m}[\sum_{i=1}^m(h_\theta (x^{(i)}) - y^{(i)})^2 + \lambda\sum_{j=1}^n\theta^2_j] \\]
Run Code Online (Sandbox Code Playgroud)

但它无法渲染如下方程:

\\[ F'(\theta_*)=\lim\limits_{\theta\to\theta_*}\frac{F(\theta)-F(\theta_*)}{\theta-\theta_*} \\]
Run Code Online (Sandbox Code Playgroud)

有人可以看看问题可能出在哪里吗?

latex mathjax github-pages

2
推荐指数
1
解决办法
1850
查看次数

当元素没有被引用时,将元组列表的字符串表示形式转换为列表

我有一个像下面这样的字符串:

s = '[(a,b),(c,d),(e,f)]'
Run Code Online (Sandbox Code Playgroud)

如何将其转换为以下列表:

[('a','b'),('c','d'),('e','f')]
Run Code Online (Sandbox Code Playgroud)

请注意在字符串中,元素没有被引用。

另外,我知道可以使用大量拆分或正则表达式来完成,还有另一种方法可以将其作为列表进行评估吗?

python

2
推荐指数
1
解决办法
249
查看次数