【发布时间】:2021-06-18 20:18:31
【问题描述】:
我有一个数据框
Product Photo 1 Photo 2 Photo 3 Photo 4 Price
Shirt a.jpg b.jpg c.jpg d.jpg 100
Pant e.jpg 245
Coat f.jpg g.jpg 433
列表为
values = [['A,'B','C'],['D','E','F','G'],['H','I','J','K]]
应添加这些数据框,并应从索引值[2] 开始,并且列表应根据数据框中的行数从索引开始增加。列也应该像输出格式一样被拆分。每一行的元素都应该循环。
预期输出
values = [['A,'B','C'],['D','E','F','G'],['PHOTO','a.jpg'],['PHOTO','b.jpg'],
['PHOTO','c.jpg'],['PHOTO','d.jpg'],['H','I','J','K],
['A,'B','C'],['D','E','F','G'],
['PHOTO','e.jpg'],['H','I','J','K], ['A,'B','C'],['D','E','F','G'],
['PHOTO','f.jpg',], ['PHOTO','g.jpg'], ['H','I','J','K]
]
然后,我想将此列表转换为数据框。 我试过的:
L = [df.loc[:, x].set_axis(range(len(x)), axis=1) for x in values]
df = pd.concat(L).sort_index(kind='mergesort').fillna('').reset_index(drop=True)
df = df.fillna('')
前一种情况下这段代码的输出:
A B C
D E F G
H I J K
#the data frame repeats till the number of rows in the previous df.
【问题讨论】:
-
我尝试理解逻辑,列表
values = [['A,'B','C'],['D','E','F','G'],['H','I','J','K]]是从同一个DataFrame 生成的?添加PHOTO的逻辑是什么? -
列表值来自单独的列表,'PHOTO' 是一个字符串。我想以预期列表值的格式创建一个新的数据框
标签: python python-3.x pandas dataframe numpy