当我读R中的数据(M370空难中的死亡)时,格式是正确的。在
> read.csv("g:\\test.ansi",sep=",")
乘客姓名 性别 出生日期
1 HuangTianhui 男 1948/05/28
2 姜翠云 女 1952/03/27
3 李红晶 女 1994/12/09
4 LuiChing 女 1969/08/02
5 宋飞飞 男 1982/03/01
6 唐旭东 男 1983/08/03
7 YangJiabao 女 1988/08/25
当我在python中读取数据时,如何设置记录的正确对齐方式?在
^{pr2}$
我也遇到过这个问题。在查看了dataframe的呈现代码后,我在pandas(v0.25)源代码中发现了以下方法:
因此,解决方案是在打印包含CJK字符的数据帧之前设置该选项。在
^{pr2}$把它应用到你的数据上之后,它就起作用了。在
原因是在处理中文字符(它占用两个ANSI字符的空间)时,
pandas
仍然填充ANSI字符的空白量。这意味着空格的数量只有包含汉字的DF所需的一半。如果pandas
忽略了汉字占用两倍的空格,情况会变得更糟:最终,所有这些都归结到
DataFrame
类的__unicode__
类,该类根据_repr_fit_horizontal_
类分配空间。我不确定什么是最好的解决办法。当遇到汉字时,用两个空格代替一个空格?在混合行的情况下,这不是一个好主意,有些行有汉字,有些没有汉字,比如在这个dataframe
中。在也许值得将其作为bug报告。在
但是,如果使用
IPython
笔记本,则受此问题影响较小,因为DataFrames
很好地显示为HTML。在相关问题 更多 >
编程相关推荐