gpt4 book ai didi

python - 我无法制作我理想的 DataFrame

转载 作者:行者123 更新时间:2023-11-30 22:10:11 25 4
gpt4 key购买 nike

有一个 csv 数据,例如

No,User,A,B,C,D
1 Tom 100 120 110 90
1 Juddy 89 90 100 110
1 Bob 99 80 90 100
2 Tom 80 100 100 70
2 Juddy 79 90 80 70
2 Bob 88 90 95 90



我想将这个csv数据转换成这个DataFrame,就像

    Tom_A Tom_B Tom_C Tom_D  Juddy_A Juddy_B Juddy_C Juddy_D  Bob_A Bob_B Bob_C Bob_D
No
1 100 120 110 90 89 90 100 110
99 80 90 100
2 80 100 100 70 79 90 80 70
88 90 95 90

我运行代码,

import pandas as pd
csv = pd.read_csv("user.csv", header=0, index_col=‘No', sep='\s|,', engine='python')

但输出不是我理想的输出。我无法理解如何使列不像 csv 中的 Tom_A・Tom_B・Juddy_A 那样辞职。

我应该如何修复我的代码?

最佳答案

设置

df = pd.DataFrame({'No': {0: 1, 1: 1, 2: 1, 3: 2, 4: 2, 5: 2}, 'User': {0: 'Tom', 1: 'Juddy', 2: 'Bob', 3: 'Tom', 4: 'Juddy', 5: 'Bob'}, 'A': {0: 100, 1: 89, 2: 99, 3: 80, 4: 79, 5: 88}, 'B': {0: 120, 1: 90, 2: 80, 3: 100, 4: 90, 5: 90}, 'C': {0: 110, 1: 100, 2: 90, 3: 100, 4: 80, 5: 95}, 'D': {0: 90, 1: 110, 2: 100, 3: 70, 4: 70, 5: 90}})

您想要pivot_table:

out = df.pivot_table(index='No', columns='User')

A B C D
User Bob Juddy Tom Bob Juddy Tom Bob Juddy Tom Bob Juddy Tom
No
1 99 89 100 80 90 120 90 100 110 100 110 90
2 88 79 80 90 90 100 95 80 100 90 70 70

获取前缀:

out.columns = out.columns.swaplevel(0,1).to_series().str.join('_')

Bob_A Juddy_A Tom_A Bob_B Juddy_B Tom_B Bob_C Juddy_C Tom_C Bob_D Juddy_D Tom_D
No
1 99 89 100 80 90 120 90 100 110 100 110 90
2 88 79 80 90 90 100 95 80 100 90 70 70

关于python - 我无法制作我理想的 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51720151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com