如果维度匹配,列表或numpy数组可以解包到多个变量中。 对于3xN数组,以下内容可行:
import numpy as np
a,b = [[1,2,3],[4,5,6]]
a,b = np.array([[1,2,3],[4,5,6]])
# result: a=[1,2,3], b=[4,5,6]
如何使pandas DataFrame
的列具有类似的行为? 扩展上面的示例:
import pandas as pd
df = pd.DataFrame([[1,2,3],[4,5,6]])
df.columns = ['A','B','C'] # Rename cols and
df.index = ['i', 'ii'] # rows for clarity
以下内容未按预期工作:
a,b = df.T
# result: a='i', b='ii'
a,b,c = df
# result: a='A', b='B', c='C'
然而,我想要的是以下内容:
a,b,c = unpack(df)
result: a=df['A'], b=df['B'], c=df['C']
在Pandas中是否已经有unpack
函数可用?或者是否可以以一种简单的方式模仿它?
a = df.a
对您有什么好处? - Jon Clementsdf.values
,这将为您提供底层的numpy数组... - Jon Clements