[英]I cant read parquet file by pandas read_parquet function
[英]Pandas read_parquet partially parses binary column
我正在尝试读取包含具有多个十六进制值的二进制列的镶木地板文件,这在使用 Pandas 读取它时会导致问题。 Pandas 会自动将一些十六进制值转换为字符,但有一些保持不变,因此数据不再可用。 使用PySpark
读取它时,它将所有十六进制值转换为十进制基数,但由于 output 是一致的,因此它是可用的。
任何想法为什么 pandas 以不同方式解析此列以及我如何获得相同的 output,或者至少是一致的(未应用部分解析)作为 Spark 返回?
代码片段和返回的输出:
Pandas:
df = pd.read_parquet('data.parquet'))
pd.read_parquet
output:
火花:
spark_df = spark.read.parquet("data.parquet")
df = spark_df.toPandas()
Spark.read.parquet
output:
Pandas 正在返回一个字节字符串,一些字符会这样显示,但没有任何问题。 例如:
x = bytes([1,10,100]) # x is shown as b'\x01\nd' where last 'd' is ASCII letter
list(x) # get as a list of numbers
要将您的 pandas dataframe 转换为看起来像火花一,请使用:
df['BASE_PERIOD_VECTOR'].apply(list)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.