Python使用csv文件

时间:2017-10-23 12:02:44

标签: python pandas csv

有没有直接的方法将csv文件的列转换为行并将其转换为值矩阵。 像这样

Userid Placeid rating
e1      100      2
e2      101      3
e3      100      1
e4      102      4 

必须转换为

        100     101    102
e1       2       na     na
e2       na      3      na
e3       1       na     na
e4      na       na      4

1 个答案:

答案 0 :(得分:3)

如果您使用的是pandas.pivot_table,则可以使用here

display: block

会给你

import pandas as pd

from io import StringIO

data = """
Userid Placeid rating
e1      100      2
e2      101      3
e3      100      1
e4      102      4 
"""

df_data = pd.read_csv(StringIO(data), sep='\s+')

df = pd.pivot_table(df_data, index=['Userid'], columns=['Placeid'], values='rating')

pandas将值转换为Placeid 100 101 102 Userid e1 2.0 NaN NaN e2 NaN 3.0 NaN e3 1.0 NaN NaN e4 NaN NaN 4.0 的原因解释为http://www.seleniumhq.org/download/