如何使用for循环在pandas中添加新行和列

2024-10-02 08:19:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含股票收益的数据框(不是真实的数字):

                AAPL      GOOG  ...        FB            NTFLX
Date                            ...                           
2016-03-01  0.001123 -0.001124  ...  0.004314         0.001234
2016-03-02 -0.000423 -0.000125  ... -0.005534        -0.002163
2016-03-03 -0.000714  0.001121  ... -0.009162        -0.005241
2016-03-04 -0.007522  0.005126  ... -0.007142        -0.003642
2016-03-07 -0.001324 -0.009123  ... -0.005352         0.001337
                 ...       ...  ...       ...              ...
2019-10-25  0.005234  0.000326  ...  0.000123        -0.002827
2019-10-28  0.006274 -0.000706  ... -0.001376        -0.006558
2019-10-29  0.000016 -0.000822  ...  0.005583        -0.003556
2019-10-30 -0.000411  0.003213  ... -0.009223         0.002566
2019-10-31  0.002146  0.001757  ... -0.002734        -0.003144

我想用相同的行和列创建一个新的数据框,但我想通过for循环来构建它,比如:

new_df = pd.DataFrame()
for row in df.index:
   for column in df.columns:
      new_df.loc[row] = {column: data_df[column]}
### data_df is just a data frame that looks like the one above but with other stock info

我知道我的编码是错误的,但有办法做到这一点吗?循环的每次迭代都将首先追加一个新行(如日期),然后继续追加列(股票代码)和值(如股价/比率等)。它将继续这样做,直到最后一天

谢谢


Tags: 数据indfnewfordatafbcolumn
1条回答
网友
1楼 · 发布于 2024-10-02 08:19:18

尝试:

new_df = pd.DataFrame()
for row in df.index:
   for column in df.columns:
      new_df.loc[row, column] = df.loc[row, column] 
      # Here df can be any dataframe from wich you want to copy values

使用这段代码,您要做的是逐行、逐列地复制值

另外,试着阅读loc documentation,以便更好地理解它的工作原理

相关问题 更多 >

    热门问题