问题陈述:
我需要将1000个csv文件加载到数据框中。所有文件都具有相同的列。在所有情况下,每列中的值属于有限可能值集(每列不同)。值的长度在100的字符中。我事先并不知道这些价值观。
我的方法是解析每个文件并转换为数据框,使用分类列并将它们存储在hdfs存储中。后来将它们汇总到“内存中”数据框中。
由于类别值冲突导致我无法连接所有这些数据帧,我想创建一个空数据帧,在我处理的文件中看到相同的列和所有类别值。
空的分类数据框是我一个接一个连接的起点。
df=pd.DataFrame(columns=["A","B"], dtypes={"A":"category","B":"category"} categories={"A":["a","b","c"],"B":["A","B","C","D"]})
df.concat[df1,df2,df3,d4]
左右我希望......
不同的策略会更好吗?
像
这样的东西答案 0 :(得分:0)
这已在pandas v0.19.0中得到解决,请参阅issue in gihub和in pandas docs v.1.19 dev。
然而,还有另一篇帖子对v1.19解决方案pandas with category replacement
这个同样的问题提供了优秀而详细的解决方案