如何使用Python在excel(.xls)中将行转换为列



我有一个excel文件如下(示例数据(:

Business Name   Business Address    Suburb  Zip     Questions Label  Answers
ABC                address1        Truga    3000    Employee numbers    5
ABC                address1        Truga    3000    Manager name      Alan
ABC                address1        Truga    3000    Store Type        Retail
ABC                address1        Truga    3000    Store Location     CBD
ABC                address1        Truga    3000    Compliant          Yes

我想要";问题标签";将数据转换为相同企业名称(ABC(的列,然后,答案应该是这样的;

Business Address   Suburb   Zip  Employee numbers Manager name  Store Type Store Location   Compliant 
ABC      address1  Truga    3000    5                Alan           Retail         CBD            Yes 

我试过";转置";在excel中。然而,我没有得到想要的输出。

任何帮助都将不胜感激!!!

提前感谢

import pandas as pd
x = pd.read_csv('test.csv') #reading it as csv for now
columns = x['Questions Label'].tolist() #convert questions label column to list
list1 = x['Answers'].tolist() #convert answer column to list
dictionary = {}
#map them in a dictionary
for i in range(0,len(list1)):
dictionary[columns[i]] = [list1[i]]
# make a dataframe out of these two
df = pd.DataFrame.from_dict(dictionary)
print(df)

现在,您只需要用这个数据帧映射没有问题标签和答案列的旧数据帧。

编辑1:

df = pd.pivot_table(x, values="Answers",columns=["Questions Label"],aggfunc = 'first').reset_index()

这是获得你想要的东西的另一种方式。

最新更新