teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/07/02 01:34

投稿

kirara0048
kirara0048

スコア1399

answer CHANGED
@@ -1,11 +1,19 @@
1
1
  解決済になっていますが、ベストアンサーが適当ではないので書いておきます。
2
2
 
3
3
  句点のあとに適当な文字列を追加してそこで区切るという案は他の方と同じです。
4
- `str.split()`を用いるとリストが要素となったシリーズが返却されますが、`.explode()`メソッドを用いるとリストをスムーズに複数行に分割できます。
4
+ `.str.split()`を用いるとリストが要素となったシリーズが返却されますが、`.explode()`メソッドを用いるとリストをスムーズに複数行に分割できます。
5
5
 
6
6
  ```python
7
7
  df.assign(コメント=df['コメント'].str.replace('。', '。 ').str.split()).explode('コメント')
8
8
  ```
9
9
 
10
10
  なお`.explode()`メソッドの使い方は公式ドキュメントを参照してください。
11
- [pandas.DataFrame.explode — pandas 1.2.5 documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html#pandas.DataFrame.explode)
11
+ [pandas.DataFrame.explode — pandas 1.2.5 documentation](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html#pandas.DataFrame.explode)
12
+
13
+ ---
14
+
15
+ 追記:`.str.split()`メソッドで正規表現を工夫すれば`.str.replace()`は不要でした。
16
+
17
+ ```python
18
+ df.assign(コメント=df['コメント'].str.split(r'(?<=。)(?=.)')).explode('コメント')
19
+ ```