Python 使用panda'删除数据集中的重复项;s dataframe.drop_duplicate()

Python 使用panda'删除数据集中的重复项;s dataframe.drop_duplicate(),python,python-2.7,pandas,Python,Python 2.7,Pandas,我正在阅读我使用Python的csv.reader()获取的Twitter数据集。我注意到在这个数据集中,有重复的。我正试图通过使用pandas.drop\u duplicate()函数删除这些,但遇到了一些麻烦 以下是我编写的实现: import csv import re import pandas as pd def process_tweet(tweet): # lowercase all text tweet = tweet.lower() # remov

我正在阅读我使用Python的
csv.reader()
获取的Twitter数据集。我注意到在这个数据集中,有重复的。我正试图通过使用
pandas.drop\u duplicate()
函数删除这些,但遇到了一些麻烦

以下是我编写的实现:

import csv
import re
import pandas as pd


def process_tweet(tweet):

    # lowercase all text
    tweet = tweet.lower()
    # remove additional whitespaces in tweets
    tweet = re.sub('[\s]+', ' ', tweet)
    # remove all hashtags
    tweet = re.sub(r'#([^\s]+)', "", tweet)
    # replace all url links to T_URL
    tweet = re.sub('((www\.[\s]+)|(https?://[^\s]+))', 'T_URL', tweet)
    # tweet = re.sub(r"http\S+", "T_URL", tweet)
    tweet = tweet.split('\n')

    remove_duplicates(tweet)

    print tweet,
    print ','  # added this because I needed each of the list, L1,L2..LN, to end with a comma

    return tweet


def remove_duplicates(tweet):

    df = pd.DataFrame(tweet)
    removed_list = df.drop_duplicates()

    # print removed_list;

    return removed_list


if __name__ == '__main__':
    with open('../../dataset/data.csv', 'rb') as f:
        reader = csv.reader(f)

        for row in reader:
            process_tweet(row[1])

        print '\n End run'
当我在iPython中创建一个包含重复数据(请参见:
1,2,3
)和一些唯一数据(请参见:
0,4
)的列表时,
drop\u duplicate()
似乎工作正常。注意,我已经编辑了一些数据,这些数据被标记为

[27]中的
:df5
出[27]:
0
0被spa强制偏离航线。。。
1添加到T_URL
2添加到T_URL
3添加到T_URL
4优胜者T_URL
在[28]:df5.drop_duplicates()中
出[28]:
0
0被spa强制偏离航线。。。
1添加到T_URL
4优胜者T_URL
我不知道这是否有帮助,但我观察到,当我打印我的数据帧
df
时,每条tweet都包含在单独的数据帧中。这就是为什么
df.drop\u duplicates()
在我的实现中不起作用的原因吗

请原谅我的代码不够令人印象深刻。Python对我来说是新事物,我仍在学习它和科学软件包


感谢您花时间阅读本文并提供任何帮助

我决定采用另一种方法,完全使用数据帧作为我的结构来处理重复项。我决定使用pandas内置的
read\u csv
方法,并将它们放在一个数据帧中,而不必处理Python本机的读取csv和遍历每一行的库。然后,我使用了相同的方法
drop\u duplicate()
删除重复数据

我希望这对未来的读者有所帮助

In [27]: df5
Out[27]:
                                                   0
0  <removed> <removed> forced off course by spa...
1        <removed> adds <removed> to <removed> T_URL
2        <removed> adds <removed> to <removed> T_URL
3        <removed> adds <removed> to <removed> T_URL
4                <removed>   winner    T_URL


In [28]: df5.drop_duplicates()
Out[28]:
                                                   0
0  <removed> <removed> forced off course by spa...
1        <removed> adds <removed> to <removed> T_URL
4                <removed>    winner    T_URL