小编Ent*_*elR的帖子

R:按ID和指定数据汇总历史记录

我之前问了一个类似的问题,得到了很大的帮助:R:按ID按日期汇总历史记录

不同之处在于,对于以前的帖子,我有兴趣汇总所有历史信息,但现在我希望仅在90天前指定.

以下是我的数据外观的示例:

strDates <- c("09/09/16", "5/7/16", "5/6/16", "2/13/16", "2/11/16","1/7/16",
          "11/8/16","6/8/16", "5/8/16","2/13/16","1/3/16", "1/1/16")
Date<-as.Date(strDates, "%m/%d/%y")
ID <- c("A", "A", "A", "A","A", "A", "B","B","B","B","B", "B")
Event <- c(1,0,1,0,1,1, 0,1,1,1,0, 1)
sample_df <- data.frame(Date,ID,Event)
Run Code Online (Sandbox Code Playgroud)

以及输出:

在此输入图像描述

背景资料

我想在每次遭遇时保留所有附加信息,但是然后将ID的以下历史信息汇总回90天.

  1. 过去90天内之前遭遇的人数
  2. 过去90天内的上一个活动数

作为一个例子,让我们看看第2行.

第2行是ID A,所以我会引用第3-6行(发生在第2行遇到之前).在这组行中,我们看到行3,4,5并且都发生在过去90天内,第6行发生在感兴趣的时间之外.

第2行:3次遭遇的最近90天以前遭遇的次数

从第2行开始的最近90天的事件数:2事件(2016年5月6日和2月11日)

期望的输出

理想情况下,我会得到以下输出:

在此输入图像描述

r dplyr data.table

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

Numpy [...,None]

我发现自己需要向现有的 numpy 数组添加功能,这导致了以下代码的最后一部分实际上在做什么的问题:

   np.ones(shape=feature_set.shape)[...,None]
Run Code Online (Sandbox Code Playgroud)

设置

例如,假设我希望通过使用 numpy 和求解来求解线性回归参数估计:

来自统计学习的要素

假设我有一个特征集形状 (50,1),一个形状为 (50,) 的目标变量,并且我希望使用我的目标变量的形状为截距值添加一列。

它看起来像这样:

# Create random target & feature set
y_train = np.random.randint(0,100, size = (50,))
feature_set = np.random.randint(0,100,size=(50,1))

# Build a set of 1s after shape of target variable
int_train = np.ones(shape=y_train.shape)[...,None]

# Able to then add int_train to feature set 
X = np.concatenate((int_train, feature_set),1)
Run Code Online (Sandbox Code Playgroud)

我认为我知道的

当我包含 [...,None] 时,我看到输出的差异与我不使用它时的差异。这里是:

在此处输入图片说明

第二个版本在需要相同维数的输入数组周围返回错误,最终我偶然发现了使用 [...,None] 的解决方案。

主要问题

虽然我看到的输出[...,无]给我我想要的,我苦苦寻找的任何信息,什么是真正应该做的。任何人都可以带我了解这段代码的实际含义,None参数在做什么,等等?

谢谢!

python numpy numpy-ndarray

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

Adding two y-axis titles on the same axis

I am going to use a dataset and plot that came from a previous problem (Here):

dat <- read.table(text = "   Division Year OperatingIncome
1  A  2012           11460
2  B  2012            7431
3  C  2012           -8121
4  D  2012           15719
5  E  2012             364
6  A  2011           12211
7  B  2011            6290
8  C  2011           -2657
9  D  2011           14657
10 E  2011            1257
11 A  2010           12895
12 B  2010            5381
13 C  2010           -2408
14 D …
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2 multiple-axes

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

如何计算不同列的变化值 - Pandas Dataframe

我试图随着时间的推移查看不同唯一 ID 的特定功能,并将其存储在 Pandas 的数据框中。

这是一个包含要复制的代码的示例:

d = {'id': ['adam', 'john'],'t1': ['A', 'A'], 't2': ['A', 'B'], 't3': ['A', 'B'], 't4': ['B', 'A']}
df = pd.DataFrame(data=d)
df

     id t1 t2 t3 t4
0  adam  A  A  A  B
1  john  A  B  B  A
Run Code Online (Sandbox Code Playgroud)

我想计算特定 id 的 t* 值更改的次数。例子:

John 值从 A 开始移动到 B(一次变化),然后停留在 B(没有变化),然后在 t4 中移动到 A(第二次变化),所以总共有两次变化。

预期输出如下:

     id t1 t2 t3 t4  toatal_change
0  adam  A  A  A  B              1
1  john  A  B  B  A              2
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

python ×2

r ×2

data.table ×1

dplyr ×1

ggplot2 ×1

multiple-axes ×1

numpy ×1

numpy-ndarray ×1

pandas ×1

plot ×1