![](/img/trans.png)
[英]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.