Python 熊猫以柱子为轴心

Python 熊猫以柱子为轴心,python,csv,pandas,Python,Csv,Pandas,我的CSV看起来像: "a","b","c","d" 1, "x", 1, 1 1, "y", 2, 2 我想根据列“b”将其转换为 我试过用枢轴和unstack。熊猫有缺点吗 编辑:我有多个列,因此我需要附加后缀/前缀使用: 此外,如果重复,则应用aggfunc: print (df) a b c d 0 1 x 1 1 <-duplicates for 1, x 1 1 y 2 2 2 1 x 4 2 <-duplicates for 1,

我的CSV看起来像:

"a","b","c","d"
1, "x", 1, 1
1, "y", 2, 2
我想根据列“b”将其转换为

我试过用枢轴和unstack。熊猫有缺点吗

编辑:我有多个列,因此我需要附加后缀/前缀使用:

此外,如果重复,则应用aggfunc:

print (df)
   a  b  c  d
0  1  x  1  1 <-duplicates for 1, x
1  1  y  2  2
2  1  x  4  2 <-duplicates for 1, x
3  2  y  2  3


df = df.pivot_table(index='a',columns='b', values=['c', 'd'], aggfunc=np.mean)
df.columns = df.columns.map(lambda x: '{}_{}'.format(x[1], x[0]))
df = df.reset_index()
print (df)
   a  x_c  y_c  x_d  y_d
0  1  2.5  2.0  1.5  2.0 <-x_c, x_d aggregated mean
1  2  NaN  2.0  NaN  3.0
打印(df)
a、b、c、d
01 x 11使用:

此外,如果重复,则应用aggfunc:

print (df)
   a  b  c  d
0  1  x  1  1 <-duplicates for 1, x
1  1  y  2  2
2  1  x  4  2 <-duplicates for 1, x
3  2  y  2  3


df = df.pivot_table(index='a',columns='b', values=['c', 'd'], aggfunc=np.mean)
df.columns = df.columns.map(lambda x: '{}_{}'.format(x[1], x[0]))
df = df.reset_index()
print (df)
   a  x_c  y_c  x_d  y_d
0  1  2.5  2.0  1.5  2.0 <-x_c, x_d aggregated mean
1  2  NaN  2.0  NaN  3.0
打印(df)
a、b、c、d
0 1 x 1 1
print (df)
   a  b  c  d
0  1  x  1  1 <-duplicates for 1, x
1  1  y  2  2
2  1  x  4  2 <-duplicates for 1, x
3  2  y  2  3


df = df.pivot_table(index='a',columns='b', values=['c', 'd'], aggfunc=np.mean)
df.columns = df.columns.map(lambda x: '{}_{}'.format(x[1], x[0]))
df = df.reset_index()
print (df)
   a  x_c  y_c  x_d  y_d
0  1  2.5  2.0  1.5  2.0 <-x_c, x_d aggregated mean
1  2  NaN  2.0  NaN  3.0