【发布时间】:2014-08-16 02:37:27
【问题描述】:
我有一个 pandas 数据框,我想将其转换为 R 数据框,以便通过 rpy2 使用。 pandas 数据框的数据类型为布尔型,具体为numpy.bool_。我在尝试使用convert_to_r_dataframe 时得到KeyError。我正在使用熊猫 0.13.1。
我正在做我不应该做的事情?我不应该使用 numpy 布尔值吗?
这是一个例子,
import pandas
import pandas.rpy.common as common
import numpy as np
# This works fine.
test_df_float = pandas.DataFrame(np.random.rand(10, 3), columns=list('xyz'))
r_test_df_float = common.convert_to_r_dataframe(test_df_float)
# This is a problem.
test_df_bool = pandas.DataFrame(np.random.rand(10, 3) > 0.5, columns=list('xyz'))
r_test_df_bool = common.convert_to_r_dataframe(test_df_bool)
KeyError Traceback (most recent call last)
<ipython-input-11-323084399e95> in <module>()
----> 1 r_test_df_bool = common.convert_to_r_dataframe(test_df_bool)
/usr/lib/python2.7/site-packages/pandas/rpy/common.pyc in convert_to_r_dataframe(df, strings_as_factors)
311 for item in value]
312
--> 313 value = VECTOR_TYPES[value_type](value)
314
315 if not strings_as_factors:
KeyError: <type 'numpy.bool_'>
【问题讨论】: