from itertools import chain
data_c = chain(data[0].values,
data[1].values,
data[2].values,
data[3].values,
data[4].values,
data[5].values,
data[6].values)
headers=chain(data[0])
df = pd.DataFrame(data_c, columns=headers)
我已經使用上面的代碼行將串列轉換為 pd 資料幀,它作業正常。結果看起來像這樣。顯示所有 178 行
但是,我想遍歷所有串列資料,所以我使用了以下代碼:
from itertools import chain
import pandas as pd
for i in range (0, len(data)):
data_c = chain(data[i].values)
headers=chain(data[0])
df = pd.DataFrame(data_c,columns=headers)
結果僅顯示最后一個值(即 data[6].values)。只顯示 8 行 有人知道如何解決這個問題嗎?
uj5u.com熱心網友回復:
for i in range (0, len(data)):
data_c = chain(data[i].values)
# Here every time loop runs data_c values override to a new chain object, That's why the data_c value in set to the last value.
嘗試這個。
from itertools import chain
import pandas as pd
data_c = chain(*[ele.values for ele in data])
headers=chain(data[0])
df = pd.DataFrame(data_c,columns=headers)
uj5u.com熱心網友回復:
可能您需要為每次資料迭代在回圈中附加資料;
data_c = pd.DataFrame()
for i in range (0, len(data)):
data_c = pd.concat[data_c,chain(data[i].values)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/513164.html
