我有一个带有以下内容的pandas DataFrame df:
Serial N voltage
B 12
B 10
C 12
C 40
. .
AB 10
AB 13
我想从这个dataFrame构建一个hashmap,其中键是序列号(唯一),值是与该序列号的电压相对应的列表。例如,我想要像
这样的东西df[[B]]=[12,10] or df[[c]]=[12,40].
我怎么能在R?
答案 0 :(得分:2)
你只需要进行一些基本的转换(全部在基础R中):
$products = Category::find($id)->products();
答案 1 :(得分:2)
这是另一种基础R方法:
Hash <- sapply(unique(Df$Key), function(x) {
Df[Df$Key == x, 2]
}, simplify = FALSE)
Df[Df$Key %in% c("A", "B"),]
# Key Value
# 1 A 61
# 2 A 52
# 3 B 46
# 4 B 53
Hash[["A"]]
#[1] 61 52]
Hash[["B"]]
#[1] 46 53
数据:
Df <- data.frame(
Key = sort(rep(LETTERS, 2)),
Value = rpois(52, 50)
)
答案 2 :(得分:0)
df <- data.frame(s=sample(LETTERS[1:2], 5, T), v=sample(10:40, 5),
stringsAsFactors=FALSE)
h <- aggregate(v~s, data=df, FUN=c)
setNames(h[,2], h[,1])
> df
s v
1 A 29
2 B 22
3 A 33
4 B 26
5 A 37
> setNames(h[,2], h[,1])
$A
[1] 29 33 37
$B
[1] 22 26