有没有直接的方法将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
答案 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/。