簡體   English   中英

Pandas 從二維 arrays 的字典中創建 dataframe

[英]Pandas create dataframe from a dictionary of 2D arrays

如何從二維 arrays 的字典中創建 dataframe 以使 dataframe 中的每個元素都是一個數組? 例如,我希望下面的df.iloc[0]["A"]返回[0,0,0]

import pandas as pd
import numpy as np

data = {"A":np.zeros([100,3]), "B":np.zeros([100,3]), "C":np.zeros([100,3])}
df = pd.DataFrame.from_dict(data)
# print(df.iloc[0]["A"]) = [0,0,0]

我會使用 MultiIndex:

df = pd.DataFrame({k:x.ravel() for k,x in data.items()},
                  index=pd.MultiIndex.from_product([np.arange(100), np.arange(3)]))

然后df.loc[0,'A']給你一個系列:

0    0.0
1    0.0
2    0.0
Name: A, dtype: float64

如果你願意接受它們是 Python 列表而不是 np.arrays,你可以這樣做:

data = {"A": np.zeros([100,3]).tolist()}
df = pd.DataFrame.from_dict(data)

print(df.iloc[0]["A"])
[0.0, 0.0, 0.0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM