[英]How to combine rows and put into single row in dataframe by sql or python
[英]How to combine python variables into single row of dataframe?
我有一個空的數據框:
dfObj = pd.DataFrame(columns=['combo', 'item1', 'item2', 'group1', 'group2', 'category1', 'category2', 'title1', 'title2'])
然后我在單獨的變量中有這些值:
combo = 'A | B|'
item1 = 'A'
item2 = 'B'
group1 = 'phones'
group2 = 'cases'
cat1 = 'smartphones'
cat2 = 'leather cases'
title1 = 'Samsung galaxy S9+'
title2 = 'Casey for S9+'
我想以某種方式獲得一個數據幀行,我可以稍后將其附加到我的數據幀中。 現在我正在經歷一個 for 循環並使用.iloc[]
將值放入特定位置,但是有沒有更優化的方法..?
創建變量列表,在循環中分配給嵌套列表,最后只傳遞給DataFrame
構造函數一次:
L = [combo, item1, item2, group1, group2, cat1, cat2, title1, title2]
cols = ['combo', 'item1', 'item2', 'group1', 'group2',
'category1', 'category2', 'title1', 'title2']
#simulate loop
out = []
for i in range(2):
out.append(L)
dfObj = pd.DataFrame(out, columns=cols)
print (dfObj)
combo item1 item2 group1 group2 category1 category2 \
0 A | B| A B phones cases smartphones leather cases
1 A | B| A B phones cases smartphones leather cases
title1 title2
0 Samsung galaxy S9+ Casey for S9+
1 Samsung galaxy S9+ Casey for S9+
另一種解決方案是創建字典:
d = {'combo': combo, 'item1': item1, 'item2': item2, 'group1': group1,
'group2': group2, 'category1': cat1, 'category2': cat2,
'title1': title1, 'title2': title2}
print (d)
out = []
for i in range(2):
out.append(d)
dfObj = pd.DataFrame(out)
print (dfObj)
category1 category2 combo group1 group2 item1 item2 \
0 smartphones leather cases A | B| phones cases A B
1 smartphones leather cases A | B| phones cases A B
title1 title2
0 Samsung galaxy S9+ Casey for S9+
1 Samsung galaxy S9+ Casey for S9+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.