使用表情符号将熊猫数据框转换为字符串

时间:2019-06-07 16:47:04

标签: python pandas dataframe

我正在尝试将pandas数据框转换为字符串,但是我无法正确地证明其正确性并保存utf-8值

我正在使用具有不同参数的pandas.DataFrame.to_string函数(以下代码),但无法实现所需的外观:左对齐表并正常显示utf-8值。

data = [['Fire', 'das Feuer', b'\xF0\x9F\x94\xA5'],
        ['Air', 'der Wind', b'\xF0\x9F\x8D\x83'],
        ['Water', 'Wasser', b'\xF0\x9F\x8C\x8A']]

df = pd.DataFrame(data, columns=['English', 'German', 'Pic'])

string = df.to_string(columns=['German', 'Pic'], index=False, header=False, justify='left')

外观:

              das Feuer b'\xF0\x9F\x94\xA5'
               der Wind b'\xF0\x9F\x8D\x83'
               Wasser b'\xF0\x9F\x8C\x8A'

我希望它的外观:

das Feuer ?
der Wind ?
Wasser ?

我没主意了。任何帮助将不胜感激

3 个答案:

答案 0 :(得分:3)

decode

df = df.assign(Pic=df.Pic.str.decode('utf-8'))

s = '\n'.join(map(' '.join, zip(df.German, df.Pic)))
print(s)

das Feuer ?
der Wind ?
Wasser ?

答案 1 :(得分:1)

您可以在定义str之前将数据帧转换为utf-8。

df.Pic = df.Pic.str.decode('utf-8')

答案 2 :(得分:0)

循环遍历索引,并打印“ German”列和“ Pic”列。并解码“ utf-8”中的“图片”列

import pandas as pd
data = [['Fire', 'das Feuer', b'\xF0\x9F\x94\xA5'],
        ['Air', 'der Wind', b'\xF0\x9F\x8D\x83'],
        ['Water', 'Wasser', b'\xF0\x9F\x8C\x8A']]
df = pd.DataFrame(data, columns=['English', 'German', 'Pic'])
for i in df.index:
    print(df['German'][i],df['Pic'][i].decode("utf-8"))


das Feuer ?
der Wind ?
Wasser ?

enter image description here