我有一个这样的数据框
date price num_floors house
1 2023-01-01 94.30076 3 A
2 2023-01-01 95.58771 2 B
3 2023-01-02 102.78559 1 C
4 2023-01-03 93.29053 3 D
我想改变它,使每一列包含给定日期所有房屋的价格和num_floor。对于一列,列的前两行是指第一个房子,接下来的两行是指第二个房子。没有数据的其余条目用缺失值NaN填充。
现在,我想转换上面的dataframe,使其具有与以下类似的结构:
2023-01-01 2023-01-02 2023-01-03
1 94.30076 102.78559 93.29053
2 3 1 3
3 95.58771 NA NA
4 2 NA NA
每列包含给定日期所有房屋的价格和num_floor。对于一列,列的前两行是指第一个房子,接下来的两行是指第二个房子。没有数据的其余条目用缺失值NaN填充。
我尝试了pivot_wider。它不起作用:
# Pivot the dataframe
df_transformed <- df %>%
pivot_wider(names_from = date,
values_from = c(price, num_floors),
values_fill = NaN)
1条答案
按热度按时间gr8qqesn1#
您可以先透视到长格式,然后在添加行号后透视到宽格式。
输出:
(我会注意到,这种转换似乎不太可能是表示数据的最佳方式)。