我有一個將 2D 串列轉換為 Pandas 資料框的 Python 代碼。結果是帶有 2 條記錄的資料框。
我期望的是將所有資料放在一行中,其中每個值都在不同的列中。
我怎樣才能做到這一點?
import pandas as pd
a = [[1,2],[3,5,6]]
print(type(a))
for b in a:
for j in b:
print(j)
dt=zip(a)
df=pd.DataFrame(dt,columns=["d"])
print(type(df))
print(df)
結果

uj5u.com熱心網友回復:
可能不是最有效的方法,但以下代碼:
a = [[1,2],[3,5,6]]
one_d_list = [x for b in a for x in b]
df = pd.DataFrame(one_d_list, index= ['a', 'b', 'c', 'd', 'e'])
df.transpose()
將回傳以下資料幀:
a b c d e
0 1 2 3 5 6
在評論中編輯以下問題:
b = [[1,2,3,4,5,1,4,7,8,9]]
b_1 = b[0][:5]
b_2 = b[0][5:]
pd.DataFrame([b_1, b_2], columns=['a', 'b', 'c', 'd', 'e'])
回傳:
a b c d e
0 1 2 3 4 5
1 1 4 7 8 9
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/359199.html
上一篇:如何在回圈中激活交換功能?
