我有一個資料框(df),我想將其轉換為嵌套串列。
df=pd.DataFrame({'Number':[1,2,3,4,5, 6],
'Name':['A', 'B', 'C', 'D', 'E', 'F'],
'Value': [223, 124, 434, 514, 821, 110]})
我的預期結果是一個嵌套串列。嵌套內的第一個串列從第一列的 df 的前 3 行獲取值。第二個是第二列的前 3 行,第三個是第三列的前 3 行。之后,我想添加剩余 3 行的串列。
[[1, 2, 3],
['A', 'B', 'C'],
[223, 124, 434]
[4, 5, 6],
['D', 'E', 'F'],
[514, 821, 110]]
我做了一個 for 回圈并在每個系列上呼叫了 tolist() 。然后我從串列中的一列中獲取所有值。我如何從下面的結果到上面的預期結果?
col=df.columns
lst=[]
for i in col:
temp = df[i].tolist()
temp
lst.append(temp)
結果(第一):
[[1, 2, 3, 4, 5, 6],
['A', 'B', 'C', 'D', 'E', 'F'],
[223, 124, 434, 514, 821, 110]]
uj5u.com熱心網友回復:
使用.values和一些 numpy 切片
v = df.values.T
v[:,:3].tolist() v[:,3:].tolist()
輸出
[[1, 2, 3],
['A', 'B', 'C'],
[223, 124, 434],
[4, 5, 6],
['D', 'E', 'F'],
[514, 821, 110]]
uj5u.com熱心網友回復:
嘗試:
lst = df.set_index(df.index // 3).groupby(level=0).agg(list) \
.to_numpy().ravel().tolist()
print(lst)
# Output
[[1, 2, 3],
['A', 'B', 'C'],
[223, 124, 434],
[4, 5, 6],
['D', 'E', 'F'],
[514, 821, 110]]
uj5u.com熱心網友回復:
這是一個從 3 個串列開始的示例,這些串列是您正在做的 .tolist()
a = [1, 2, 3, 4, 5, 6, 4]
b = ['A', 'B', 'C', 'D', 'E', 'F']
c = [223, 124, 434, 514, 821, 110]
res = []
for i in range(len(a) // 3):
res.append(a[i * 3:(i * 3) 3])
res.append(b[i * 3:(i * 3) 3])
res.append(c[i * 3:(i * 3) 3])
結果是
[[1, 2, 3], ['A', 'B', 'C'], [223, 124, 434], [4, 5, 6], ['D', 'E', 'F'], [514, 821, 110]]
uj5u.com熱心網友回復:
import pandas as pd
df=pd.DataFrame({
'Number':[1,2,3,4,5, 6],
'Name':['A', 'B', 'C', 'D', 'E', 'F'],
'Value': [223, 124, 434, 514, 821, 110]
})
# convert df into slices of 3
final_list = []
for i in range(0, len(df), 3):
final_list.append(
df.iloc[i:i 3]['Number'].to_list())
final_list.append(
df.iloc[i:i 3]['Name'].to_list())
final_list.append(
df.iloc[i:i 3]['Value'].to_list())
print(final_list)
輸出
[[1, 2, 3], ['A', 'B', 'C'], [223, 124, 434], [4, 5, 6], ['D', 'E', 'F'], [514, 821, 110]]
uj5u.com熱心網友回復:
我認為您只想將串列(列)劃分為大小為 n 的串列。您可以更改 n 的值,以更改子串列大小。
lst=[]
n=3
for i in col:
temp = df[i].tolist()
for i in range(0,len(temp),n):
lst.append(temp[i:i n])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/409847.html
標籤:
