python - Python / 使用 Pandas 从文本文件中读取和分组数据
问题描述
我有一个文本文件如下:
Sentence:1 Polarity:N 5puan verdim o da anistonun güzel yüzünün hatırına.
Sentence:2 Polarity:N son derece sıkıcı bir filim olduğunu söyleyebilirim.
Sentence:3 Polarity:N ..saçma bir konuyu nasılda filim yapmışlar maşallah
Sentence:4 Polarity:P bence hoş vakit geçirmek için seyredilebilir.
Sentence:5 Polarity:P hoş ve sevimli bir film.
Sentence:6 Polarity:O eşcinsellere pek sempati duymamakla beraber bu filmde sanki onları sevimli göstermeye çalışmışlar gibi geldi.
Sentence:7 Polarity:O itici bir film değildi sonuçta.
Sentence:8 Polarity:N seyrederken bu kadar sinirlendiğim film hatırlamıyorum.
Sentence:9 Polarity:O J.Aniston ın hiç mi umut yok diye sorduğu sahnede kıracaktım televizyonu!
Sentence:10 Polarity:O kimse yazmamış ben yazıyım:)
Sentence:11 Polarity:P güzel bi pazar günü şirin bi film izlemek isteyenler için çok güzel.
我想将这些数据拆分到这样的表中:
Sentence_No - Sentence_Polarity - Sentence_txt
1 - N - 5puan verdim o da anistonun güzel yüzünün hatırına.
2 - N - son derece sıkıcı bir filim olduğunu söyleyebilirim.
3 - N - ..saçma bir konuyu nasılda filim yapmışlar maşallah
4 - P - bence hoş vakit geçirmek için seyredilebilir.
所以我认为我需要从“Sentence:”、“Polarity”和最后一个 txt 部分之后获取部分。我想要这样,所以我可以对数据进行分类。
我写了下面的代码,但它不适用于此目的:
df = pd.read_csv('SU-Movie-Reviews-Sentences.txt', lineterminator='\n', names=['Sentence_No', 'Sentence_Polarity' , 'Sentence_txt'])
解决方案
使用 DataFrame 的replace
方法regex
,并header=None
在读取文件时使用read_csv
默认情况下,您的数据集的第一行将被视为标题,您将无法获得第一行。因此, fillna("0")
用作您的编号序列不一致且为空或 Nan:
df = pd.read_csv("SU-Movie-Reviews-Sentences.txt", header=None).fillna("0")
print(df)
0
0 Sentence:1 Polarity:N 5puan verdim o da anisto...
1 Sentence:2 Polarity:N son derece sıkıcı bir fi...
2 Sentence:3 Polarity:N ..saçma bir konuyu nasıl...
3 Sentence:4 Polarity:P bence hoş vakit geçirmek...
4 Sentence:5 Polarity:P hoş ve sevimli bir film.
5 Sentence:6 Polarity:O eşcinsellere pek sempati...
6 Sentence:7 Polarity:O itici bir film değildi s...
7 Sentence:8 Polarity:N seyrederken bu kadar sin...
8 Sentence:9 Polarity:O J.Aniston ın hiç mi umu...
9 Sentence:10 Polarity:O kimse yazmamış ben yazı...
10 Sentence:11 Polarity:P güzel bi pazar günü şi...
以下是您将如何使用replace
:
>>> df.replace('Sentence:|Polarity:', '',regex=True)
0
0 1 N 5puan verdim o da anistonun güzel yüzünün ...
1 2 N son derece sıkıcı bir filim olduğunu söyle...
2 3 N ..saçma bir konuyu nasılda filim yapmışlar...
3 4 P bence hoş vakit geçirmek için seyredilebilir.
4 5 P hoş ve sevimli bir film.
5 6 O eşcinsellere pek sempati duymamakla berabe...
6 7 O itici bir film değildi sonuçta.
7 8 N seyrederken bu kadar sinirlendiğim film ha...
8 9 O J.Aniston ın hiç mi umut yok diye sorduğu...
9 10 O kimse yazmamış ben yazıyım:)
10 11 P güzel bi pazar günü şirin bi film izleme...
推荐阅读
- python - 创建和排序嵌套字典
- reactjs - 反应 onEnded 事件未在移动设备上触发
- parsing - 如何编写查询以从 DBLP 下载数据?
- sql-server - 如何确定为什么一个表使用了这么多空间?
- angular - 无法使用 Angular 8 NativeScript 应用程序设置或获取 NGXS 状态
- database - 用于将时间戳值存储到数据库中的字符串格式
- python-3.x - 更新熊猫系列每一行中某些字典键的值
- python-3.x - 如何从颜色字典中快速更改图像中的像素?
- c# - 如何将跨度包装在复选框列表中以进行控制?
- kotlin - 通过内联泛型函数进行 Kotlin 类型推断