如何在列和行之间的数据框中添加数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在列和行之间的数据框中添加数据?相关的知识,希望对你有一定的参考价值。

我有一些以前从CSV文件加载的数据帧

b = portfolionew_df.loc [1,['x_1','x_2','x_3','x_4','x_5']]
x = [stockprice_df.loc[ :, b]]
print(x)

这是x的结果:

NYSEARCA:RYE  NYSEARCA:XOP  NYSEARCA:PXE  NYSEARCA:VAW  NYSEARCA:PYZ  
 0           68.37         52.00         25.37         87.94         35.00
 1           60.70         48.04         22.64         83.78         32.61
 2           67.04         54.48         24.70         86.61         34.44
 3           65.86         53.75         24.16         84.94         34.21

c = pd.DataFrame(index=(time_df['Date']),columns=(b))
print(c)

这是c的结果:

Date        NYSEARCA:RYE    NYSEARCA:XOP    NYSEARCA:PXE    NYSEARCA:VAW    NYSEARCA:PYZ

2007-12-31  NaN             NaN             NaN             NaN           NaN
2008-01-31  NaN             NaN             NaN             NaN           NaN
2008-02-29  NaN             NaN             NaN             NaN           NaN
2008-03-31  NaN             NaN             NaN             NaN           NaN

内容全部是NaN,因为我没有设法添加数据。我怎样才能实现这一目标?

Date    NYSEARCA:RYE    NYSEARCA:XOP    NYSEARCA:PXE    NYSEARCA:VAW    NYSEARCA:PYZ

2007-12-31  68.37         52.00         25.37         87.94         35.00
2008-01-31  60.70         48.04         22.64         83.78         32.61
2008-02-29  67.04         54.48         24.70         86.61         34.44
2008-03-31  65.86         53.75         24.16         84.94         34.21

我的目标是将x中的数据添加到c数据帧中。我该怎么做?

答案

由于您的数据位于x和time_df中的索引中,您可以执行以下操作:

  c=x
  c=c.set_index(time_df['Date'])
  print c
另一答案

IIUC使用combine_first

c.reset_index().combine_first(x)
Out[523]: 
         Date  NYSEARCA:PXE  NYSEARCA:PYZ  NYSEARCA:RYE  NYSEARCA:VAW  
0  2007-12-31         25.37         35.00         68.37         87.94   
1  2008-01-31         22.64         32.61         60.70         83.78   
2  2008-02-29         24.70         34.44         67.04         86.61   
3  2008-03-31         24.16         34.21         65.86         84.94   
   NYSEARCA:XOP  
0         52.00  
1         48.04  
2         54.48  
3         53.75  

以上是关于如何在列和行之间的数据框中添加数据?的主要内容,如果未能解决你的问题,请参考以下文章

Handsontable中的反向列和行标题

CSS 表格 - 添加边距列和行边框底部

遍历 pandas 数据框中的列和行并将字符串转换为浮点数

如何识别两个数据矩阵之间的哪些列和行匹配?

切换数据框中的列和行,并在单独的列标题下列出观察结果以执行 Anova:单因素

c#中如何获取MYSQL数据库名称、表、列和行