使用 concat 函数而不是 append
Using concat functions instead of append
我正在尝试使用 concat
函数而不是 append
从这段代码中产生相同的输出:
final_dataframe = pd.DataFrame(columns = my_columns)
for symbol in stocks['Ticker'][:5]:
api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
data = requests.get(api_url).json()
final_dataframe = final_dataframe.append(
pd.Series([symbol,
data['latestPrice'],
data['marketCap'],
'N/A'],
index = my_columns),
ignore_index = True)
输出是这样的:
Ticker Stock_price Market_capitalization Number_of_shares_to_buy
0 A 144.3 42532431075 N/A
1 AAL 17.16 11068908461 N/A
2 AAP 210.74 12880265047 N/A
3 AAPL 167.43 2762301276735 N/A
4 ABBV 164.5 287271211810 N/A
这不是将数据逐行附加到 DataFrame 的最佳策略。首先将您的数据收集到 Python 数据结构(这里是字典列表),然后从该数据结构创建数据框。
尝试:
tickers = []
for symbol in stocks['Ticker'][:5]:
api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
data = requests.get(api_url).json()
d = dict(zip(my_columns, [symbol, data['latestPrice'], data['marketCap'], 'N/A']))
tickers.append(d)
df = pd.DataFrame(tickers)
输出:
>>> df
Ticker Stock_price Market_capitalization Number_of_shares_to_buy
0 A 144.30 42532431075 NaN
1 AAL 17.16 11068908461 NaN
2 AAP 210.74 12880265047 NaN
3 AAPL 167.43 2762301276735 NaN
4 ABBV 164.50 287271211810 NaN
我正在尝试使用 concat
函数而不是 append
从这段代码中产生相同的输出:
final_dataframe = pd.DataFrame(columns = my_columns)
for symbol in stocks['Ticker'][:5]:
api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
data = requests.get(api_url).json()
final_dataframe = final_dataframe.append(
pd.Series([symbol,
data['latestPrice'],
data['marketCap'],
'N/A'],
index = my_columns),
ignore_index = True)
输出是这样的:
Ticker Stock_price Market_capitalization Number_of_shares_to_buy
0 A 144.3 42532431075 N/A
1 AAL 17.16 11068908461 N/A
2 AAP 210.74 12880265047 N/A
3 AAPL 167.43 2762301276735 N/A
4 ABBV 164.5 287271211810 N/A
这不是将数据逐行附加到 DataFrame 的最佳策略。首先将您的数据收集到 Python 数据结构(这里是字典列表),然后从该数据结构创建数据框。
尝试:
tickers = []
for symbol in stocks['Ticker'][:5]:
api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
data = requests.get(api_url).json()
d = dict(zip(my_columns, [symbol, data['latestPrice'], data['marketCap'], 'N/A']))
tickers.append(d)
df = pd.DataFrame(tickers)
输出:
>>> df
Ticker Stock_price Market_capitalization Number_of_shares_to_buy
0 A 144.30 42532431075 NaN
1 AAL 17.16 11068908461 NaN
2 AAP 210.74 12880265047 NaN
3 AAPL 167.43 2762301276735 NaN
4 ABBV 164.50 287271211810 NaN