Вычислите 34 миллиона строк, ядро ​​моей лаборатории jupyter мертво - PullRequest
0 голосов
/ 16 апреля 2019

У меня 34 миллиона строк и только столбец. Я хочу разбить строковое значение в кадре данных на какой-то столбец, но это заняло много времени, и мое ядро ​​лаборатории jupyter умерло при его обработке.

Вот мой примерный набор данных (df):

Log
Apr  4 20:30:33 100.51.100.254 dns,packet user: --- got query from 10.5.14.243:30648:
Apr  4 20:30:33 100.51.100.254 dns,packet user: id:78a4 rd:1 tc:0 aa:0 qr:0 ra:0 QUERY 'no error'
Apr  4 20:30:33 100.51.100.254 dns,packet user: question: tracking.intl.miui.com:A:IN
Apr  4 20:30:33 dns user: query from 9.5.10.243: #4746190 tracking.intl.miui.com. A

Я хочу разбить его на четыре столбца, используя этот код:

df1 = df['Log'].str.split(n=3, expand=True)
df1.columns=['Month','Date','Time','Log']
df1.head()

Вот результат, который я ожидал

     Month Date      Time                                              Log
0      Apr    4  20:30:33  100.51.100.254 dns,packet user: --- go...
1      Apr    4  20:30:33  100.51.100.254 dns,packet user: id:78a...
2      Apr    4  20:30:33  100.51.100.254 dns,packet user: questi...
3      Apr    4  20:30:33  dns transjakarta: query from 9.5.10.243: #474...
4      Apr    4  20:30:33  100.51.100.254 dns,packet user: --- se...

Когда я использую выборочные строки 800 КБ, это успех. но когда я применил его в полных данных, ядро ​​было мертвым.

Есть ли решение, чтобы справиться с этим? может быть, с помощью Dask или Swifter?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...