use*_*957 4 python decode pandas
我正在 Kaggle 新闻标题数据集上练习:https://www.kaggle.com/aaron7sun/stocknews#Combined_News_DJIA.csv
df = pd.read_csv('./data/Combined_News_DJIA.csv')
Run Code Online (Sandbox Code Playgroud)
当阅读新闻标题的 DataFrame 时,我得到了该系列的格式:
0 b"Georgia 'downs two Russian warplanes' as cou...
1 b'Why wont America & Nato help us? If they w...
2 b'Remember that adorable 9-year-old who sang a...
3 b' U.S. refuses Israel weapons to attack Iran:...
4 b'All the experts admit that we should legalis...
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下内容:
df['Series'].str.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)
然而输出是一个列表NaN。有任何想法吗?在整个 DataFrame 而不仅仅是一个 Series 上实现会很棒。
您无法从 UTF-8 解码它,因为它已经是一个字符串 - 而不是字节序列。
该文件的内容确实令人困惑:它包含以 开头的字符串"b'...,这会误导用户认为它是字节 - 但事实并非如此。
如果你运行df.Top1[0],你会看到它包含:
'b"Georgia \'downs two Russian warplanes\' as countries move to brink of war"'
Run Code Online (Sandbox Code Playgroud)
并且type(df.Top1[0])只是一个字符串。因此 - 你无法从 UTF-8 解码它。