R:列表到数据框的映射功能

时间:2020-07-30 10:19:57

标签: r list dataframe map-function

我有这个清单

my_list   list [3]                                       list length of 3

[[1]]     list [38 x 23] (S3: tbl_df, tbl, data.frame)   A tibble with 38 rows and 23 columns
[[2]]     list [38 x 23] (S3: tbl_df, tbl, data.frame)   A tibble with 38 rows and 23 columns
[[3]]     list [38 x 23] (S3: tbl_df, tbl, data.frame)   A tibble with 38 rows and 23 columns

我正在尝试获取具有23列114行的数据帧(或小标题)。

我已经尝试过这些代码

my_list %>% map(~ .,rbind.data.frame)
my_list %>% map(rbind.data.frame)
my_list %>% map(~ .,rbind.data.frame)
my_list %>% map(as.data.frame)

它仅在控制台中有效,但是如果我想将数据帧传递到环境中,例如

my_list %>% map(~ .,rbind.data.frame) –> my_data_frame

我又得到一个清单。我该怎么解决?

1 个答案:

答案 0 :(得分:0)

签出bind_rows

>>> import pandas as pd
>>> a = [4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 4, 4, 4, 1, 1, 1, 1, 2, 2, 2, 3]
>>> cust_dict ={4:'four',1:'one',2:'two',3:'three'}
>>> s = pd.Series(a)
>>> s.map(cust_dict).tolist()
['four', 'four', 'four', 'four', 'four', 'four', 'three', 'three', 'three', 'three', 'three', 'three', 'three', 'three', 'three', 'two', 'two', 'two', 'four', 'four', 'four', 'one', 'one', 'one', 'one', 'two', 'two', 'two', 'three']

将基于列名将列表中的三个小标题绑定在一起。