假设我有两个数据框,如下所示:
n = c(2, 3, 5, 5, 6, 7)
s = c("aa", "bb", "cc", "dd", "ee", "ff")
b = c(2, 4, 5, 4, 3, 2)
df = data.frame(n, s, b)
# n s b
#1 2 aa 2
#2 3 bb 4
#3 5 cc 5
#4 5 dd 4
#5 6 ee 3
#6 7 ff 2
n2 = c(5, 6, 7, 6)
s2 = c("aa", "bb", "cc", "ll")
b2 = c("hh", "nn", "ff", "dd")
df2 = data.frame(n2, s2, …
Run Code Online (Sandbox Code Playgroud) 获取我的测试数据:
import pandas as pd
df = {'Id': {1762056: 2.0, 1762055: 1.0},
'FillDate': {1762056: Timestamp('2015-08-01 00:00:00'), 1762055:Timestamp('2015-08-01 00:00:00')},
'Date': {1762056: nan, 1762055: nan},
}
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
数据看起来像:
Id Date FillDate
1.0 NaN 2015-08-01
2.0 NaN 2015-08-01
Run Code Online (Sandbox Code Playgroud)
因此,为了填补缺失的日期,我这样做:
df['Date'].fillna(df['FillDate'], inplace=True)
Run Code Online (Sandbox Code Playgroud)
这给了我
Id Date FillDate
1.0 1438387200000000000 2015-08-01
2.0 1438387200000000000 2015-08-01
Run Code Online (Sandbox Code Playgroud)
如何获取Date
日期形式的列
这是一个类似于我正在使用的示例数据框:
set.seed(74.3)
df<-data.frame(ID=sample(c(1000:1004),size=20,replace=T),
Fruit=sample(c("Apple","Banana","Pear","Orange","Plum"),size=20,replace=T))
library(dplyr)
df <- df %>%
group_by(ID,Fruit) %>%
summarise(n=n())
ID Fruit n
(int) (fctr) (int)
1 1000 Banana 1
2 1000 Orange 3
3 1000 Pear 1
4 1001 Banana 1
5 1001 Plum 2
6 1002 Banana 1
7 1003 Banana 1
8 1003 Orange 2
9 1003 Pear 1
10 1003 Plum 1
11 1004 Apple 2
12 1004 Banana 2
13 1004 Orange 1
14 1004 Pear 1
Run Code Online (Sandbox Code Playgroud)
如何转置 Fruit 和 n 列并对 ID …
我想根据条件过滤以下 R 数据帧,即如果“分数”列在同一 ID 中没有 A,则删除与该 ID 关联的行。例如,对于 ID 号为 2 的行,只有 C 和 B,而没有 A。因此删除 ID 号为 2 的行。
dat <- structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L),
Score = structure(c(1L, 1L, 2L, 3L, 2L, 2L, 2L, 3L, 3L, 1L
), .Label = c("A", "B", "C"), class = "factor"), Info = c(1L,
10L, 7L, 8L, 9L, 1L, 7L, 8L, 3L, 2L)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", …
Run Code Online (Sandbox Code Playgroud) 我有一个对象,在一定数量的行之后,每列中都有所有 NA。一些列在此之前也有 NA。我想获取至少一列有数据的最后一行的行索引。以下是一些可以使用的示例数据:
编辑:为了健壮性,我在@G 之后的第二行添加了 NA。格洛腾迪克评论。在这种情况下,输出仍应为 5。
df <- data.frame(a = 1:5, b = 6:10, c = c(1:3,rep(NA, 2)))
df <- rbind(df, rep(NA, ncol(df)), rep(NA, ncol(df)))
df[2,] <- NA
df
a b c
1 1 6 1
2 NA NA NA
3 3 8 3
4 4 9 NA
5 5 10 NA
6 NA NA NA
7 NA NA NA
Run Code Online (Sandbox Code Playgroud) 我有以下内容:
pd.DataFrame({
'a' : { 1 : {}},
'b' : {1 : 3}
})
Run Code Online (Sandbox Code Playgroud)
看起来像:
a b
1 {} 3
Run Code Online (Sandbox Code Playgroud)
并且希望能够{}
用 0 或 NaN 替换 ,但我不知道如何去做。.replace
我似乎无法使用它
pd.DataFrame({
'a' : { 1 : {}},
'b' : {1 : 3}
}).replace({ {} : 0})
Run Code Online (Sandbox Code Playgroud)
给出一个错误
我正在创建一个新的 data.table,其中包含至少具有一个负值的所有行。
这是一个简单的可重现数据表:
dt <- data.table(
ID = c(42, 43, 44),
Stage_1 = c(-6, 7, 4),
Stage_2 = c(-15, 4, -8),
Stage_3 = c(-20, 2, -5)
)
# ID Stage_1 Stage_2 Stage_3
# 1: 42 -6 -15 -20 # <~~ row to be selected (> 0 negative values)
# 2: 43 7 4 2
# 3: 44 4 -8 -5 # <~~ row to be selected (> 0 negative values)
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
dt2 <- data.table(
ID = c(42, 44),
Stage_1 = …
Run Code Online (Sandbox Code Playgroud) 我想使用 numpy 数组来替换 Pandas 数据帧中的子集数据帧。
例如:一个熊猫数据框df
。
df_subset = df.loc[[1,3,5,7,9], ["A", "B", "C"]]
Run Code Online (Sandbox Code Playgroud)
这里,子集数据帧的维度为(5, 3)
:
下面是 numpy 数组示例,其形状与我想替换为的子集数据帧相同:
replace_value = np.array([[1, 2, 3], [4, 4, 4], [1, 6, 8], [1, 3, 6], [8, 0, 1]])
Run Code Online (Sandbox Code Playgroud)
有没有类似的方法:
df_subset.values = replace_value
Run Code Online (Sandbox Code Playgroud)
我希望的是我替换的值会直接改变df
. 这意味着如果我df
再次使用相同的索引和列进行子集化,我将获得与我replace_value
如上分配的 numpy 数组一样的确切值。
我有一个数组:
all_ages = ["11", "9", "10", "8", "9"]
Run Code Online (Sandbox Code Playgroud)
我想将其转换为整数数组,以便更容易将它们全部加在一起。非常感谢任何帮助,寻找一级解决方案。
我想重新编码一个变量,以便,例如,我们可以通过以下方式获得变换这个向量:
> a <- c(0,0,0,0,0,1,1,1,1,1) # original
> b <- c(-5,-4,-3,-2,-1,0,1,2,3,4) # transformed
> cbind(a,b)
a b
[1,] 0 -5
[2,] 0 -4
[3,] 0 -3
[4,] 0 -2
[5,] 0 -1
[6,] 1 0
[7,] 1 1
[8,] 1 2
[9,] 1 3
[10,] 1 4
>
Run Code Online (Sandbox Code Playgroud)
这些变量遵循一个顺序,恰好是一个时间顺序.在原始数据集中,我有一个编码为"0"或"1"的变量,例如这里的例子中的"a".它是每年的分类指标.在某些时候,存在从"0"到"1"的转变,就像在这些示例中的行号6中一样.然后我想重新编码原始变量,创建一个新变量,它实际上告诉我从"0"变为"1"之前和之后多少年.因此," - 5"表示转换前五年,"0"表示转换年份,例如,"4"表示转换后四年.有什么建议可以做到最好吗?谢谢!安东尼奥.