小编Ana*_*Ana的帖子

如何使用Pandas-Python从Excel中读取某些列

我正在阅读Excel工作表,我想读取某些列:第0列,因为它是行索引,第22:37列.现在我正在做的事情:

import pandas as pd
import numpy as np
file_loc = "path.xlsx"
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = 37)
df= pd.concat([df[df.columns[0]], df[df.columns[22:]]], axis=1)
Run Code Online (Sandbox Code Playgroud)

但我希望有更好的方法来做到这一点!我知道如果我parse_cols=[0, 22,..,37]能这样做,但对于大型数据集,这没有意义.

我也这样做了:

s = pd.Series(0)
s[1]=22
for i in range(2,14):
    s[i]=s[i-1]+1
df = pd.read_excel(file_loc, index_col=None, na_values=['NA'], parse_cols = s)
Run Code Online (Sandbox Code Playgroud)

但它读取前15列的长度s.

python numpy dataframe pandas

20
推荐指数
4
解决办法
5万
查看次数

如何在Python中创建数据帧数组

我想写一段代码来创建多个dataFrame数组,其名称格式为word_0000,其中四位数字是月份和年份.我想要做的一个例子是创建以下数据帧:

df_0115, df_0215, df_0315, ... , df_1215
stat_0115, stat_0215, stat_0315, ... , stat_1215
Run Code Online (Sandbox Code Playgroud)

python arrays dataframe pandas

6
推荐指数
2
解决办法
3万
查看次数

如何使用 Python 输出嵌套循环的结果

我有一个带有 3 个参数的函数。我想计算该函数并输出每个参数组合的结果。

我已经定义了我的函数F(A,B,C),现在我们可以假设它的输出是一个单一的值f(A,B,C)

然后我运行一个嵌套循环:

for A in range(1,2):
    for B in range(4,5):
        for C in range(7,8,9):
            F(A,B,C)
Run Code Online (Sandbox Code Playgroud)

但它会覆盖。我想要的是这样的数据框:

A   B   C   Output
1   4   7   f(1,4,7)
1   4   8   f(1,4,8)
1   4   9   f(1,4,9)
1   5   7   f(1,5,7)
1   5   8   f(1,5,8)
1   5   9   f(1,5,9)
2   4   7   f(2,4,7)
2   4   8   f(2,4,8)
2   4   9   f(2,4,9)
2   5   7   f(2,5,7)
2   5   8   f(2,5,8)
2   5   9   f(2,5,9)
Run Code Online (Sandbox Code Playgroud)

python loops for-loop dataframe pandas

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

如何将列名传递给函数

我编写了一个函数,可以进行一些分析,包括使用NPS计算一个名为"Net Promoter Score"的度量.

library(dplyr)
library(tidyr)
library(NPS)
df<-data.frame(score = sample(c(0:10),15,replace=TRUE),
           variable = sample(c('A', 'B', 'C'),15,replace=TRUE)
)
analyzer <- function(df,var, sco){
    df %>% group_by_(var) %>% transmute(n= nps(sco)) %>% unique()
}
analyzer(df,'variable','score')
Run Code Online (Sandbox Code Playgroud)

这将返回NA所有级别的变量.

现在dplyr函数有一种处理x作为字符传递给它们的方法(即,_我在这里使用它们的版本),但nps函数没有.我也试过通过得分列,nps(.[[score]])但这会返回整列的NPS,并且不会按group_by级别将其分解.

r function dplyr rlang

0
推荐指数
1
解决办法
76
查看次数

标签 统计

dataframe ×3

pandas ×3

python ×3

arrays ×1

dplyr ×1

for-loop ×1

function ×1

loops ×1

numpy ×1

r ×1

rlang ×1