我如何操作数据帧/表以便以以下格式显示?

2024-04-19 03:07:24 发布

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

如何将当前输出修改为底部所述的输出排列?我试过堆叠和取消堆叠,但似乎没有击中要害。非常感谢您的帮助

我的代码:

portfolio_count = 0
Equity_perportfolio = []
Portfolio_sequence = []
  
while portfolio_count < 1:
# declaring list
  list = Tickers
  portfolio_count = portfolio_count + 1
# initializing the value of n (Number of assets in portfolio)
  n = 5
  
# printing n elements from list (add number while printing the potential portfolio)
  potential_portfolio = random.sample(list, n)
  print("Portfolio number", portfolio_count)
  print(potential_portfolio)

  #Pull 'relevant data' about the selected stocks. (Yahoo API?) # 1. df with Index Date and Closing 

  price_data_close = web.get_data_yahoo(potential_portfolio,
                           start = '2012-01-01',
                           end = '2021-03-31')['Close']   

  price_data = web.get_data_yahoo(potential_portfolio,
                           start = '2012-01-01',
                           end = '2021-03-31')   
  print(price_data)

这给了我以下结构:(忽略NAN)

Attributes  Adj Close                        ...     Volume                        
Symbols             D       HOLX        PSX  ...        PSX         MGM          PG
Date                                         ...                                   
2012-01-03  36.209511  17.840000        NaN  ...        NaN  25873300.0  11565900.0
2012-01-04  35.912926  17.910000        NaN  ...        NaN  14717400.0  10595400.0
2012-01-05  35.837063  18.360001        NaN  ...        NaN  12437500.0  10085300.0
2012-01-06  35.471519  18.570000        NaN  ...        NaN   9079700.0   8421200.0
2012-01-09  35.423241  18.520000        NaN  ...        NaN  15750100.0   7836100.0
...               ...        ...        ...  ...        ...         ...         ...
2021-03-25  75.220001  71.050003  82.440002  ...  2613300.0   9601500.0   7517300.0
2021-03-26  75.779999  73.419998  84.309998  ...  2368900.0   7809100.0  10820100.0
2021-03-29  76.699997  74.199997  82.529999  ...  1880600.0   7809700.0  11176000.0
2021-03-30  75.529999  73.870003  82.309998  ...  1960600.0   5668500.0   8090600.0
2021-03-31  75.959999  74.379997  81.540001  ...  2665200.0   7029900.0   9202600.0

但是,我希望它以这种格式输出:

Date    Symbols Open    High    Low Close   Volume  Adjusted
04/12/2020  MMM 172.130005  173.160004  171.539993  172.460007  2663600 171.050461
07/12/2020  MMM 171.720001  172.5   169.179993  170.149994  2526800 168.759323
08/12/2020  MMM 169.740005  172.830002  169.699997  172.460007  1730800 171.050461
08/12/2020  MMM 169.740005  172.830002  169.699997  172.460007  1730800 171.050461
11/12/2020  D   172.300003  174.649994  172.169998  174.020004  1875700 172.597702
11/12/2020  D   172.300003  174.649994  172.169998  174.020004  1875700 172.597702
11/12/2020  D   172.300003  174.649994  172.169998  174.020004  1875700 172.597702
14/12/2020  D   175.669998  176.199997  172.990005  173.080002  3700100 171.66539
14/12/2020  D   175.669998  176.199997  172.990005  173.080002  3700100 171.66539
14/12/2020  PSX 175.669998  176.199997  172.990005  173.080002  3700100 171.66539
14/12/2020  PSX 175.669998  176.199997  172.990005  173.080002  3700100 171.66539
15/12/2020  PSX 174.389999  175.059998  172.550003  174.679993  2270600 173.252304
18/12/2020  PSX 176.759995  177.460007  175.110001  176.419998  4682000 174.978088
18/12/2020  PSX 176.759995  177.460007  175.110001  176.419998  4682000 174.978088
23/12/2020  PG  175.300003  175.809998  173.960007  173.990005  1762600 172.567963
28/12/2020  PG  175.309998  176.399994  174.389999  174.710007  1403000 173.282074
29/12/2020  PG  175.550003  175.639999  173.149994  173.850006  1218900 172.429108
31/12/2020  PG  174.119995  174.869995  173.179993  174.789993  1841300 173.361404
05/01/2021  PG  172.009995  173.25  170.649994  171.580002  2295300 170.177643
07/01/2021  MMM 171.559998  173.460007  166.160004  169.720001  5863400 168.332855
07/01/2021  MMM 171.559998  173.460007  166.160004  169.720001  5863400 168.332855
07/01/2021  MMM 171.559998  173.460007  166.160004  169.720001  5863400 168.332855
08/01/2021  MMM 169.169998  169.539993  164.610001  166.619995  4808100 165.258179
13/01/2021  MMM 167.270004  167.740005  166.050003  166.279999  2098000 164.920959
15/01/2021  MMM 165.630005  166.259995  163.380005  165.550003  3550700 164.19693
19/01/2021  MMM 167.259995  169.550003  166.800003  169.119995  3903200 167.737747