我刚开始使用熊猫数据框,但实际上我遇到了问题。
我有一个主字典,基本上是代码中的一个数据帧,看起来像这样:
A B ATTR VAL
AA BB type circular
AA BB size 2mm
AA BB shape square
AA BB tip bend
我将提供一个字符串,该字符串将检查此数据帧并选择单词并返回看起来非常像这样的输出:
A B type size shape tip
AA BB circular 2mm square bend
这将处理大量数据,但是现在我正在对此进行尝试,一旦完成,我将在该庞大的数据集上应用相同的代码。
main_dict = pd.read_excel('File.xlsx')
header = main_dict.iloc[:,0:2]
data = main_dict.iloc[:,2:4]
matr_desc = "AA BB 2mm circular bend".split()
for i,j in enumerate(main_dict['Attribute']):
for k,l in enumerate(main_dict['Values']):
print(l)
header[j][k] = l
在此之后,我被困住了,我知道这可能很容易,但是由于我是新手,因此在构造它时遇到了一些困难。
答案 0 :(得分:4)
您可以使用unstack
:
df.set_index(['A','B', 'ATTR']).unstack('ATTR')
df.pivot_table(index=['A', 'B'], columns='VAL', values='ATTR', aggfunc='first')
两者都会产生预期的输出。但是,请注意,跨越A
,B
和ATTR
列(即多行,其中这三列均具有相同值)的重复项可能会产生不良结果。