我有以下示例数据框:
data.frame(ID=c(1:9),COLOR=c('red','green','blue','white','black','yellow','red','blue','red'),
SHAPE=c('square','circle','triangle','square','triangle','circle','circle','circle','square'),
VAR_X=c(5,8,3,9,7,4,2,9,12))
ID COLOR SHAPE VAR_X
1 1 red square 5
2 2 green circle 8
3 3 blue triangle 3
4 4 white square 9
5 5 black triangle 7
6 6 yellow circle 4
7 7 red circle 2
8 8 blue circle 9
9 9 red square 12
有了这个dataframe,我想为颜色和形状组合中的每个唯一值创建一个新列。因此,在我的示例中,我想要新的列:'red square','green circle','blue triangle','white square','black triangle','yellow circle','red circle','blue circle'。新列中每个观察值的值应与颜色和形状组合相对应。对于“红场”,这看起来像:
ID COLOR SHAPE VAR_X red_square
1 1 red square 5 true
2 2 green circle 8 false
3 3 blue triangle 3 false
4 4 white square 9 false
5 5 black triangle 7 false
6 6 yellow circle 4 false
7 7 red circle 2 false
8 8 blue circle 9 false
9 9 red square 12 true
因为我只想要唯一的组合,所以“红方”的新列只应该创建一次。对于数据框中不存在的所有可能的组合(例如白色圆圈),不应创建列名。
有人知道我要找的解决方案吗?
我们可以使用表格
cbind(df1, as.data.frame.matrix(with(df1, table(ID, paste(COLOR, SHAPE, sep="_"))!=0)))
# ID COLOR SHAPE VAR_X black_triangle blue_circle blue_triangle green_circle red_circle red_square white_square yellow_circle
#1 1 red square 5 FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
#2 2 green circle 8 FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
#3 3 blue triangle 3 FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
#4 4 white square 9 FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
#5 5 black triangle 7 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#6 6 yellow circle 4 FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
#7 7 red circle 2 FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
#8 8 blue circle 9 FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
#9 9 red square 12 FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
我有一个csv文件,它有一个值为1或2的列exch。另一列中有许多数字。问题是我想要EXCH2数据紧挨着EXCH1数据。是否有一种方法可以将EXCH2数据从与EXCH1数据相同的列中移除,使其成为自己的新列,并重置索引,使它们并排在一起? 电流输出:
我想解构一个pandas DataFrame,使用列标题作为一个新的数据列,并创建一个包含行索引和列的所有组合的列表。比解释更容易展示的:
是否可以使用列表中的数据更改列名? 我有我的新标签如下: 是否可以使用上述列表中的数据更改名称?我的原始数据集有100列,我不想为每列手动执行此操作。 我尝试使用df.rename执行以下操作,但不断出现错误。谢谢
我有一个pandas dataframe对象,如下所示: 我想生成一个列表对象列表,其中第一项是列标签,其余的列表值是列数据值: 我该怎么做?谢谢你的帮助。
但我如何也摆脱这些假想呢?
问题内容: 我有一个MySQL表,其中包含以下类型的信息: 这是我用来从该表获取数据的脚本示例: 该脚本显示表格中的每个日期,例如 我只想显示唯一的日期,例如 问题答案: 在MySQL中使用DISTINCT运算符:
我有一个dataframe,我在我的第一列groupByKey上有一个字符串数组,我想在我的dataframe的新列中实例一个新对象。 我将实例的对象具有以下结构: