python - .dat 文件导入 Pandas

标签 python python-3.x pandas dataframe

我想导入这个公开可用的 file使用 Pandas 。简单为 csv(我已将 .dat 重命名为 .csv):

clinton = pd.read_csv("C:/Users/Mateusz/Downloads/ML_DS-20180523T193457Z-001/ML_DS/clinton1.csv")

但在某些情况下,国家名称由两个单词组成,而不是一个单词。在这些情况下,将我的数据框向右移动。这看起来像(名称温泉分为两列):enter image description here如何一次性修复整个数据集?

最佳答案

无需将 .dat 重命名为 .csv。相反,您可以使用匹配两个或多个空格的正则表达式作为列分隔符。

尝试使用 sep 参数:

pd.read_csv('http://users.stat.ufl.edu/~winner/data/clinton1.dat',
            header=None, sep='\s\s+', engine='python')

输出:

            0      1     2      3      4     5      6      7     8     9    10
0  Autauga, AL  30.92  31.7  57623  15768  15.2  10.74  51.41  60.4  2.36  457
1  Baldwin, AL  26.24  35.5  84935  16954  13.6   9.73  51.34  66.5  5.40  282
2  Barbour, AL  46.36  32.8  83656  15532  25.0   8.82  53.03  28.8  7.02   47
3   Blount, AL  32.92  34.5  61249  14820  15.0   9.67  51.15  62.4  2.36  185
4  Bullock, AL  67.67  31.7  75725  11120  33.0   7.08  50.76  17.6  2.91  141

如果您希望您的状态作为一个单独的列,您可以使用这个 sep='\s\s+|,' 这意味着在两个或更多空格或一个逗号上单独列。

pd.read_csv('http://users.stat.ufl.edu/~winner/data/clinton1.dat',
            header=None, sep='\s\s+|,', engine='python')

输出:

        0    1      2     3      4        5     6      7      8     9     10     11
0  Autauga   AL  30.92  31.7  57623  15768.0  15.2  10.74  51.41  60.4  2.36  457.0
1  Baldwin   AL  26.24  35.5  84935  16954.0  13.6   9.73  51.34  66.5  5.40  282.0
2  Barbour   AL  46.36  32.8  83656  15532.0  25.0   8.82  53.03  28.8  7.02   47.0
3   Blount   AL  32.92  34.5  61249  14820.0  15.0   9.67  51.15  62.4  2.36  185.0
4  Bullock   AL  67.67  31.7  75725  11120.0  33.0   7.08  50.76  17.6  2.91  141.0

关于python - .dat 文件导入 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628861/

相关文章:

python - FLAGS = 无意义?

python - 美汤问题

python - 在单行文本文件中的数字后添加新行

python - Pandas 获取一个数据框中列出的所有行,但不是另一个未排序的行

pandas - 根据现有的列名和列值在 python 数据框中创建列

python - Tensorflow中如何使用多个汇总集合?

python 3 : for loop syntax with dictionary

python - 从纯文本文件导入字典

python-3.x - 制表符分隔符不会为由制表符分隔的字段创建单独的列;不同栏目的内容混杂

python - 在 Bokeh 中包含簇状条形图的工具提示