Как поместить данные из столбца CSV, которые я уже разбил на разные строки в файле CSV - PullRequest
0 голосов
/ 06 октября 2019

У меня есть CSV-файл со столбцом, который содержит много предложений, я разделил предложения на ".", И я хотел поместить разделенные предложения в разные строки в новом CSV-файле. Ниже приведены некоторые из моих кодов.

import csv
import pandas as pd

excel= pd.read_csv("file.csv", encoding = "ISO-8859-1")
excel.dropna(inplace = True) 
split = pd.DataFrame(excel["months_readmore_story"].str.split('.'), columns=['sentences'])

split.to_csv('split.csv')

Я пробовал вышеуказанный код, но в новом файле csv ничего нет. Это из исходного CSV-файла, file.csv

file.csv
id      date         months_readmore_story
1        sep 20       England. The weather caused a lots of uproar.
2        Aug 10       Health. Health have been an issue.

Вывод, который я хотел в split.csv

split.csv
story_id        sentences_id      sentences
 1               1                 England
 1               2                 The weather caused a lots of uproar
 2               3                 Health
 2               4                 Health have been an issue

Ответы [ 2 ]

1 голос
/ 06 октября 2019

надеюсь, что это сработает. Примите исходный фрейм данных как df

import pandas as pd
import numpy as np

new_df = pd.DataFrame(df.months_readmore_story.str.split('.').tolist(),index=df.id).stack()
new_df = new_df.reset_index([0, 'id'])
new_df.columns = ['story_id', 'sentences']
new_df['sentences'].replace('', np.nan, inplace=True)
new_df.dropna(subset=['sentences'], inplace=True)
new_df.insert(1,"sentences_id",range(1,(new_df.shape[0]+1)))
0 голосов
/ 06 октября 2019

попробуйте это,

df['temp'] =df[' months_readmore_story'].str.rstrip('.').str.split('.').values.tolist()
df= df[['id', 'temp']]
df.set_index('id')['temp'].apply(pd.Series).stack().reset_index(level=0).rename(columns={0:'temp'})

O / P:

   id                                  temp
0   1                               England
1   1   The weather caused a lots of uproar
0   2                                Health
1   2             Health have been an issue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...