所以我有一個關于創建這些型別串列的資料框的問題。我正在使用類似于上述示例的資料集(盡管要大得多)。
data = [("A", (1, 2, 3)), ("B", (5, 7, 9)), ("C", (2, 4, 6))]
我試圖讓它看起來像一個像這樣的資料框:
A B C
1 5 2
2 7 4
3 9 6
我已經探索了使用
pd.DataFrame()
但它似乎沒有用。有什么建議?
uj5u.com熱心網友回復:
這可能不是最有效的方法,但您可以將資料轉換dict為DataFrame.
import pandas as pd
data = [("A", (1, 2, 3)), ("B", (5, 7, 9)), ("C", (2, 4, 6))]
# convert to dictionary then to dataframe
df = pd.DataFrame(dict(data))
uj5u.com熱心網友回復:
您可以將資料轉換為pd.DataFrame,然后使用set_index方法將索引設定為每個元組中的字母,然后轉置資料框并使用該explode方法分解內部元組以分隔行。然后使用reset_index和rename_axis方法來獲得想要的結果。
data = [("A", (1, 2, 3)), ("B", (5, 7, 9)), ("C", (2, 4, 6))]
df = pd.DataFrame(data).set_index(0).T.explode(['A','B','C']).reset_index(drop=True).rename_axis(columns={0:None})
另一種選擇是使用apply(pd.Series)和轉置:
df = pd.DataFrame(data).set_index(0)[1].apply(pd.Series).T
又一種方式。您可以使用zip和強制轉換為從資料中分離名稱pd.DataFrame:
idx, data = zip(*data)
df = pd.DataFrame(data, index=idx).T
輸出:
A B C
0 1 5 2
1 2 7 4
2 3 9 6
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403760.html
標籤:
上一篇:如何裁剪影像中紅點周圍的固定補丁
下一篇:如何解決“AttributeError:'Event'objecthasnoattribute'key'”?[復制]
