Dataframe 为什么PySpk认为零是空的?
我尝试将.csv文件导入pyspark数据帧。我使用schema选项来声明数据帧的模式。这是我使用的代码Dataframe 为什么PySpk认为零是空的?,dataframe,pyspark,null,schema,Dataframe,Pyspark,Null,Schema,我尝试将.csv文件导入pyspark数据帧。我使用schema选项来声明数据帧的模式。这是我使用的代码 memory_schema = "ts integer, PID integer, MINFLT integer, MAJFLT integer, \ VSTEXT double, VSIZE double, RSIZE double, VGROW double, RGROW double, \ MEM double, CMD s
memory_schema = "ts integer, PID integer, MINFLT integer, MAJFLT integer, \
VSTEXT double, VSIZE double, RSIZE double, VGROW double, RGROW double, \
MEM double, CMD string ,attack integer,type string"
memory_df = spark.read.csv("data/*memory*.csv", header=True, schema=memory_schema)
下面是结果模式
The schema is as shown below
root
|-- ts: integer (nullable = true)
|-- PID: integer (nullable = true)
|-- MINFLT: integer (nullable = true)
|-- MAJFLT: integer(nullable = true)
|-- VSTEXT: double (nullable = true)
|-- VSIZE: double (nullable = true)
|-- RSIZE: double (nullable = true)
|-- VGROW: double (nullable = true)
|-- RGROW: double (nullable = true)
|-- MEM: double (nullable = true)
|-- CMD: string (nullable = true)
|-- attack: integer (nullable = true)
|-- type: string (nullable = true)
在许多列中,整数或双精度的值0被替换为null。例如,列MAJFLT将80000个值设置为零。如果我在模式中将类型声明为整数,那么所有这些都将被视为null,而在模式中将MAJFLT声明为字符串时则没有null值。
我不确定为什么值0被视为null,以及如何避免它