импорт файла .dat в панды - PullRequest
0 голосов
/ 31 мая 2018

Я хочу импортировать этот общедоступный файл , используя панд.Просто как csv (я переименовал просто .dat в .csv):

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

Однако в некоторых случаях название страны состоит из двух слов, а не только одного.В этих случаях мой кадр данных сдвигается вправо.Это выглядит так (имя «горячие источники» в двух столбцах): enter image description here Как исправить это для всего набора данных одновременно?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вы можете использовать регулярное выражение в качестве разделителя.В вашем конкретном случае все разделители - это несколько пробелов, тогда как пробелы в именах - это просто пробелы.

import pandas as pd

clinton = pd.read_csv("clinton1.csv", sep='\s{2,}', header=None, engine='python')
0 голосов
/ 31 мая 2018

Нет необходимости переименовывать .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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...