【问题标题】:python create a data frame with one row by a list (Nice way without "reshape" )python通过列表创建一个包含一行的数据框(没有“reshape”的好方法)
【发布时间】:2018-10-05 18:51:55
【问题描述】:

假设我们有数据和列名,例如dataExample = [1,2] columnNames = ['a','b'] 我们想创建一个 python 数据框,如:

    a   b
0   1   2

令人惊讶的是,写作

df = pd.DataFrame( dataExample  , columns  = columnNames  )

给出错误,因为数据(即[1,2])的形状像(2,1)并且列需要形状(1,2)

这样就可以了

df = pd.DataFrame( np.array([1,2]).reshape(1,-1)  , columns  = ['a','b'] )

它有效,但是,它似乎并不像我天真地期望答案应该是那样的“不错”/“单行”。

问题:

有一些“不错”/“更短”的方式吗?


另一种方法可以做到这一点,但仍然不是“好”/“一行”

df = pd.DataFrame( columns  = ['a','b'], index = [0] )
df.loc[0] = [1,2]

但它又不像我期望的那样“好”/“短”


有相关问题:

python create a data frame with one row by a list

但它没有回答我的问题

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    使用list of list:

    dataExample = [1,2] 
    columnNames = ['a','b']
    df = pd.DataFrame( [dataExample]  , columns  = columnNames  )
    print (df)
       a  b
    0  1  2
    

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 1970-01-01
      • 2021-09-23
      • 2021-04-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多