如何在python中从多索引pandas数据帧创建n数组树

2024-09-28 21:59:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据帧。我对多个列调用了set_index方法。在

你能帮我建立同样的数据帧吗。在

raw_data = {'first_name': ['Jason', 'Molly'], 
    'last_name': ['Miller', 'Jacobson'], 
    'age': [42, 52, ] 
    'preTestScore': [4, 24],
    'postTestScore': [25, 94]}

df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'preTestScore', 'postTestScore'])

df1 = df.set_index(['first_name','last_name','age'])

然后有四列。第一个是索引列,另一个是 测试前和测试后得分

^{pr2}$

Tags: 数据方法namepandasdfagedataindex
1条回答
网友
1楼 · 发布于 2024-09-28 21:59:52

根据我的理解,您希望索引是这些列的组合,但是您希望它出现在一个列中,对于这个列,从我搜索的内容中没有pandaps函数。定制建筑方式如下:

import pandas as pd
raw_data = {'first_name': ['Jason', 'Molly'], 
    'last_name': ['Miller', 'Jacobson'], 
    'age': [42, 52, ],
    'preTestScore': [4, 24],
    'postTestScore': [25, 94]}

df = pd.DataFrame.from_dict(raw_data)
df['first_name-last_name-age'] = df.apply(lambda row: row['first_name']+' '+ row['last_name']+' '+str(row['age']), axis=1)
df = df.set_index(['first_name-last_name-age'])
df = df.drop('first_name', axis=1)
df = df.drop('last_name', axis=1)
df = df.drop('age', axis=1)
df = df.reset_index()
print (df)

上述输出符合贵方预期:

^{pr2}$

希望这有帮助!在

相关问题 更多 >