将列另存为单独的列表?Python

Cam*_*aum 1 python finance dataframe pandas

刚刚开始学习如何使用 Pandas,所以请原谅问题的简单性!

import pandas as pd

top100 = pd.read_html('https://robinhood.com/collections/100-most-popular')
Run Code Online (Sandbox Code Playgroud)

输出:

[                     Name Symbol    Price  Today Market Cap  Popularity Analyst Ratings
0              Ford Motor      F    $6.81  0.73%     27.04B      942282         21% Buy
1                      GE     GE    $7.08  0.43%     61.84B      840895         62% Buy
2       American Airlines    AAL   $11.96  3.94%      6.05B      655044         20% Buy
3                  Disney    DIS  $118.70  0.61%    214.31B      619926         50% Buy
4         Delta Air Lines    DAL   $27.17  0.33%     17.25B      582985         63% Buy
..                    ...    ...      ...    ...        ...         ...             ...
95   Occidental Petroleum    OXY   $16.38  3.70%     14.65B       76389         12% Buy
96  Sorrento Therapeutics   SRNE    $7.15  7.04%      1.41B       76260             â
97                  Everi   EVRI    $5.84  3.95%    491.45M       74132        100% Buy
98                 Macy's      M    $6.69  2.90%      2.06B       73563          0% Buy
99    Viking Therapeutics   VKTX    $7.06  0.56%    515.44M       72412        100% Buy

[100 rows x 7 columns]]
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将Symbol列另存为某个列表?所以像:

symbols_list = [F,GE, AAL ....]
Run Code Online (Sandbox Code Playgroud)

我也可以保存相应Price的符号吗?

jez*_*ael 5

首先必须通过索引选择第一个表,因为read_html返回DataFrames列表:

top100 = pd.read_html('https://robinhood.com/collections/100-most-popular')[0]

print (top100)
                     Name Symbol    Price  Today Market Cap  Popularity  \
0              Ford Motor      F    $6.77  1.31%     27.04B      942282   
1                      GE     GE    $7.02  0.43%     61.84B      840895   
2       American Airlines    AAL   $12.39  0.48%      6.05B      655044   
3                  Disney    DIS  $118.40  0.86%    214.31B      619926   
4         Delta Air Lines    DAL   $27.30  0.15%     17.25B      582985   
..                    ...    ...      ...    ...        ...         ...   
95   Occidental Petroleum    OXY   $16.40  3.59%     14.65B       76389   
96  Sorrento Therapeutics   SRNE    $7.23  8.23%      1.41B       76260   
97                  Everi   EVRI    $5.84  3.95%    491.45M       74132   
98                 Macy's      M    $6.69  2.90%      2.06B       73563   
99    Viking Therapeutics   VKTX    $7.06  0.56%    515.44M       72412   

   Analyst Ratings  
0          21% Buy  
1          62% Buy  
2          20% Buy  
3          50% Buy  
4          63% Buy  
..             ...  
95         12% Buy  
96             â  
97        100% Buy  
98          0% Buy  
99        100% Buy  

[100 rows x 7 columns]
Run Code Online (Sandbox Code Playgroud)

然后将列 ( Series)转换为列表:

L = top100['Symbol'].tolist()
print (L)
['F', 'GE', 'AAL', 'DIS', 'DAL', 'AAPL', 'MSFT', 'CCL', 'GPRO', 'TSLA', 'ACB', 'PLUG', 'AMZN', 'NCLH', 'BAC', 'SNAP', 'FIT', 'BA', 'UAL', 'MRNA', 'NIO', 'UBER', 'BABA', 'CGC', 'FB', 'RCL', 'TWTR', 'AMD', 'CRON', 'INO', 'ZNGA', 'NFLX', 'SAVE', 'KO', 'T', 'SBUX', 'APHA', 'LUV', 'MRO', 'JBLU', 'MGM', 'GNUS', 'OGI', 'NKLA', 'XOM', 'MFA', 'GUSH', 'USO', 'SPCE', 'UCO', 'IVR', 'NVDA', 'AMC', 'GM', 'WKHS', 'NOK', 'VOO', 'PFE', 'DKNG', 'NRZ', 'SQ', 'PLAY', 'CPRX', 'SPY', 'CPE', 'WORK', 'SIRI', 'TLRY', 'PENN', 'NKE', 'VSLR', 'SNE', 'LYFT', 'BRK.B', 'WMT', 'V', 'WFC', 'GOOGL', 'HAL', 'GILD', 'GPS', 'KOS', 'JPM', 'ZM', 'SPHD', 'VXRT', 'TXMD', 'BYND', 'NVAX', 'PTON', 'FCEL', 'ET', 'NYMT', 'CRBP', 'BP', 'OXY', 'SRNE', 'EVRI', 'M', 'VKTX']
Run Code Online (Sandbox Code Playgroud)

如果想要字典依据PriceSymbol首先将列转换Symbol为索引依据DataFrame.set_index,请选择列Price并转换依据Series.to_dict

d = top100.set_index('Symbol')['Price'].to_dict()
print (d)
{'F': '$6.77', 'GE': '$7.02', 'AAL': '$12.37', 'DIS': '$118.40', 'DAL': '$27.30', 'AAPL': '$385.00', 'MSFT': '$204.41', 'CCL': '$15.61', 'GPRO': '$4.90', 'TSLA': '$1,520.00', 'ACB': '$11.95', 'PLUG': '$8.82', 'AMZN': '$2,963.55', 'NCLH': '$15.41', 'BAC': '$23.06', 'SNAP': '$24.62', 'FIT': '$6.81', 'BA': '$177.80', 'UAL': '$34.98', 'MRNA': '$95.00', 'NIO': '$11.47', 'UBER': '$32.70', 'BABA': '$257.80', 'CGC': '$17.90', 'FB': '$240.00', 'RCL': '$54.00', 'TWTR': '$35.51', 'AMD': '$54.86', 'CRON': '$6.83', 'INO': '$27.59', 'ZNGA': '$9.42', 'NFLX': '$490.00', 'SAVE': '$18.04', 'KO': '$46.72', 'T': '$30.25', 'SBUX': '$74.35', 'APHA': '$5.15', 'LUV': '$34.72', 'MRO': '$5.53', 'JBLU': '$10.99', 'MGM': '$16.98', 'GNUS': '$2.18', 'OGI': '$1.56', 'NKLA': '$42.52', 'XOM': '$43.50', 'MFA': '$2.58', 'GUSH': '$31.89', 'USO': '$28.86', 'SPCE': '$24.28', 'UCO': '$30.20', 'IVR': '$3.36', 'NVDA': '$408.10', 'AMC': '$4.25', 'GM': '$26.45', 'WKHS': '$14.60', 'NOK': '$4.44', 'VOO': '$295.04', 'PFE': '$36.71', 'DKNG': '$35.53', 'NRZ': '$7.68', 'SQ': '$120.80', 'PLAY': '$13.30', 'CPRX': '$5.01', 'SPY': '$321.06', 'CPE': '$1.14', 'WORK': '$32.10', 'SIRI': '$5.89', 'TLRY': '$7.35', 'PENN': '$35.00', 'NKE': '$96.28', 'VSLR': '$19.91', 'SNE': '$76.00', 'LYFT': '$29.88', 'BRK.B': '$189.97', 'WMT': '$131.50', 'V': '$195.09', 'WFC': '$25.02', 'GOOGL': '$1,516.85', 'HAL': '$13.55', 'GILD': '$77.35', 'GPS': '$12.94', 'KOS': '$1.60', 'JPM': '$97.40', 'ZM': '$243.74', 'SPHD': '$33.76', 'VXRT': '$16.50', 'TXMD': '$1.80', 'BYND': '$128.00', 'NVAX': '$147.19', 'PTON': '$59.58', 'FCEL': '$2.90', 'ET': '$6.51', 'NYMT': '$2.51', 'CRBP': '$6.91', 'BP': '$23.29', 'OXY': '$16.40', 'SRNE': '$7.23', 'EVRI': '$5.84', 'M': '$6.69', 'VKTX': '$7.06'}
Run Code Online (Sandbox Code Playgroud)