我只是试图用羽毛阅读R存储到磁盘的Pandas数据帧。在阅读了数据框后,我检查了对象的类型,而不是看到'data.frame'
作为结果,我看到了'tbl_df' 'tbl' 'data.frame'
。知道这里发生了什么吗?
相关代码很简单:
contact_records_df <- read_feather('contact_records.feather')
class(contact_records_df)
答案 0 :(得分:2)
它只是将它作为一个tibble引入,这或多或少是来自tidyverse世界的“增强型”数据帧。您可以查看文档here
您可以将它们与数据框架互换使用。我偶尔会注意到,特别是对于空间函数,这些因素导致某些东西死亡,因此有时你必须将它们转换回数据帧。
library(tibble)
x1 <- c(1, 2, 3, 4)
x2 <- c("one", "two", "three", "four")
example_df <- data.frame(x1,x2)
example_tibble <- tibble(x1,x2)
如果你使用str
查看其中两个,你会看到它们基本相同,除了元素不会自动将字符串转换为因子(等等)。
> str(example_df)
'data.frame': 4 obs. of 2 variables:
$ x1: num 1 2 3 4
$ x2: Factor w/ 4 levels "four","one","three",..: 2 4 3 1
> str(example_tibble)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4 obs. of 2 variables:
$ x1: num 1 2 3 4
$ x2: chr "one" "two" "three" "four"
此外,它仍然是一个数据帧,但它有一些更具体的类
> is.data.frame(example_tibble)
[1] TRUE