如何将多个唯一元素附加到Python中的同一组列?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将多个唯一元素附加到Python中的同一组列?相关的知识,希望对你有一定的参考价值。
我试图从数据框中的一列中获取唯一标识符/键,并将其附加到另一个数据框中,并将其附加到两列中的SAME元素集。两个数据帧如下:
df1 df2
Geogkey Brand Week date Impressions
TMZ43434 x 6/16/18 6/14/18 798798
KRO36783 y 6/16/18 6/21/18 562314
.... 6/28/18 462534
n
直到8月份,df2还有几个日期,但为了简洁起见,我没有将它们包括在内。我想从df1中获取每个唯一的Geogkey并将它们附加到df2,因此特定日期和印象的每一行都与一个geogkey相匹配。 df2中的日期和印象集将连续重复数据帧,每个组合对应一个唯一的geogkey - 每次也会复制。所以最终的数据框看起来像这样:
Geogkey date Impressions
TMZ43434 6/14/18 798798
TMZ43434 6/21/18 562314
TMZ43434 6/28/18 462534
KRO36783 6/14/18 798798
KRO36783 6/21/18 562314
KRO36783 6/28/18 462534
对于每个geogkey,这将不断重复。我到目前为止的代码是:
empty <- data.frame(df2$date, df2$impressions)
#creates a new data frame with unique geogkeys
geogname <- unique(data.frame(df1$GEOGKEY))
#create some function that will index each unique geogkey and make a new
column for df2 with that name (e.g. df2$geogkey <- some function)
new_df <- rbind(empty, df2)
#this should theoretically append all the geogkeys to the dates and
impressions
我需要为此编写一些for循环吗?我被困住了,不知道该怎么办。我也想在熊猫中做这件事。
答案
如果我错了,请纠正我,但看起来你试图用“日期”和“印象”的每个组合重复每一个键。像这样的东西会起作用。
df <- data.frame()
for(i in unique(df1$GEOKEY){
for(j in 1:nrow(df2)){
df <- rbind(df,
data.frame('key' = i, 'date' = df2[j,1], 'impressions' = df2[j,2]))
}
}
对于大数据框架,这是一个麻烦的解决方案。我还假设df2
中的行是唯一的。
以上是关于如何将多个唯一元素附加到Python中的同一组列?的主要内容,如果未能解决你的问题,请参考以下文章
将浮点数组写入和附加到 C++ 中 hdf5 文件中的唯一数据集