python转r字符_从Python到R的数据帧转换:保持Python字符串为R chr而不是R

博主在新年之际分享了遇到的问题:将Python的pandas数据帧转换为R的数据帧后,发现R数据帧中的变量类型变成了factor而非原始的chr。他们尝试使用`pr2`进行转换,并展示了转换前后的数据帧结构。尽管在R中通过代码成功修复了类型,但询问是否有办法在转换过程中直接保持chr类型。他们提到了使用的软件版本(python2.7.12, rpy22.8.2, pandas0.18.1)。
摘要由CSDN通过智能技术生成

祝大家新年快乐,并为2017年编码快乐。在

我有一个Python pandas数据帧,需要将其转换为R数据帧。

我的Python pandas数据帧如下所示:'data.frame': 302 obs. of 19 variables:

$ typ : chr "page" "area" "par" "line" ...

$ id : chr "page_1" "block_1_1" "par_1_1" "line_1_1" ...

$ page : num 1 1 1 1 1 1 1 1 1 1 ...

$ area : num NA 1 1 1 2 2 2 2 3 3 ...

$ par : num NA NA 1 1 NA 2 2 2 NA 3 ...

$ line : num NA NA NA 1 NA NA 2 2 NA NA ...

$ x1 : num 0 0.02 36.91 36.91 0.03 ...

$ y1 : num 0 26.1 4.2 4.2 26.1 ...

$ x2 : num 100 5.95 36.92 36.92 5.97 ...

$ y2 : num 100 26.09 8.29 8.29 44.54 ...

$ length : num 100 5.93 0.02 0.02 5.93 ...

$ heigth : num 100 0.01 4.09 4.09 18.44 ...

$ txt : chr "" "" "" "" ...

$ strong : chr "" "" "" "" ...

$ special : chr "" "" "" "" ...

$ AVGx : num 50 2.98 36.91 36.91 3 ...

$ AVGy : num 50 26.09 6.24 6.24 35.31 ...

$ SC_NR : chr "41151000029" "41151000029" "41151000029" "41151000029" ...

$ DOK_LFNR: chr "640" "640" "640" "640" ...

我正在使用:

^{pr2}$

我得到了以下R数据帧:'data.frame': 302 obs. of 19 variables:

$ typ : Factor w/ 5 levels "area","line",..: 3 1 4 2 1 4 2 5 1 4 ...

$ id : Factor w/ 302 levels "block_1_1","block_1_10",..: 77 1 78 28 12 89 39 216 21 100 ...

$ page : num 1 1 1 1 1 1 1 1 1 1 ...

$ area : num NA 1 1 1 2 2 2 2 3 3 ...

$ par : num NA NA 1 1 NA 2 2 2 NA 3 ...

$ line : num NA NA NA 1 NA NA 2 2 NA NA ...

$ x1 : num 0 0.02 36.91 36.91 0.03 ...

$ y1 : num 0 26.1 4.2 4.2 26.1 ...

$ x2 : num 100 5.95 36.92 36.92 5.97 ...

$ y2 : num 100 26.09 8.29 8.29 44.54 ...

$ length : num 100 5.93 0.02 0.02 5.93 ...

$ heigth : num 100 0.01 4.09 4.09 18.44 ...

$ txt : Factor w/ 189 levels "","[e]","{minutes}",..: 1 1 1 1 1 1 1 107 1 1 ...

$ strong : Factor w/ 3 levels "","0","1": 1 1 1 1 1 1 1 2 1 1 ...

$ special : Factor w/ 1 level "": 1 1 1 1 1 1 1 1 1 1 ...

$ AVGx : num 50 2.98 36.91 36.91 3 ...

$ AVGy : num 50 26.09 6.24 6.24 35.31 ...

$ SC_NR : Factor w/ 1 level "41151000029": 1 1 1 1 1 1 1 1 1 1 ...

$ DOK_LFNR: Factor w/ 1 level "640": 1 1 1 1 1 1 1 1 1 1 ...

问题是R数据帧的类型是factor而不是chr类型。我设法用R代码修复了它:i

df[i]

有没有办法在转换过程中直接这么做?在

我正在使用:python 2.7.12

rpy2 2.8.2

pandas 0.18.1

谢谢

费宾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值