我有三個需要組合的資料框,但我嘗試的任何方法都不起作用。我一直在嘗試一切,但沒有任何效果。到目前為止,這就是我所擁有的:
# DataFrame columns
columns = ["exchange", "symbol", "name"]
# Create NYSE dataFrame
NYSE = list(zip(NYSE_symbols, NYSE_companies))
NYSE = [("NYSE", ) elem for elem in NYSE]
NYSE_df = pd.DataFrame([x for x in NYSE], columns=columns)
# Create NASDAQ dataFrame
NASDAQ = list(zip(NASDAQ_symbols, NASDAQ_companies))
NASDAQ = [("NASDAQ", ) elem for elem in NASDAQ]
NASDAQ_df = pd.DataFrame([x for x in NASDAQ], columns=columns)
# Create OTCBB dataFrame
OTCBB = list(zip(OTCBB_symbols, OTCBB_companies))
OTCBB = [("OTCBB", ) elem for elem in OTCBB]
OTCBB_df = pd.DataFrame([x for x in OTCBB], columns=columns)
company_df = pd.merge(NYSE_df,NASDAQ_df,OTCBB_df, on='id')
print(company_df)
這是我嘗試 concat 時遇到的錯誤:
cmwolfe@LAPTOP-NEJ5OHDU:~/python/repositories/MyOrm$ /home/cmwolfe/.virtualenvs/marketdb/bin/python3.8 /home/cmwolfe/python/repositories/MyOrm/app.py
/home/cmwolfe/python/repositories/MyOrm/app.py:73: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only
company_df = pd.concat(NYSE_df,NASDAQ_df,OTCBB_df)
Traceback (most recent call last):
File "/home/cmwolfe/python/repositories/MyOrm/app.py", line 73, in <module>
company_df = pd.concat(NYSE_df,NASDAQ_df,OTCBB_df)
File "/home/cmwolfe/.virtualenvs/marketdb/lib/python3.8/site-packages/pandas/util/_decorators.py", line 311, in wrapper
return func(*args, **kwargs)
File "/home/cmwolfe/.virtualenvs/marketdb/lib/python3.8/site-packages/pandas/core/reshape/concat.py", line 294, in concat
op = _Concatenator(
File "/home/cmwolfe/.virtualenvs/marketdb/lib/python3.8/site-packages/pandas/core/reshape/concat.py", line 329, in __init__
raise TypeError(
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"
這就是資料框的樣子:
0 NASDAQ AACG Ata Creativity Global ADR
1 NASDAQ AACI Armada Acquisition Corp I
2 NASDAQ AACIU Armada Acquisition Corp I
3 NASDAQ AACIW Armada Acquisition Corp I WT
4 NASDAQ AADI Aadi Biosciences Inc
... ... ... ...
5293 NASDAQ ZWRKU Z
5294 NASDAQ ZWRKW Z
5295 NASDAQ ZY Zymergen Inc
5296 NASDAQ ZYNE Zynerba Pharma CS
5297 NASDAQ ZYXI Zynex Inc
[5298 rows x 3 columns]
uj5u.com熱心網友回復:
您可以使用pandas.DataFrame.append函式,該函式可讓您將一個資料集的行附加到另一個資料集。我認為這就是你想要做的,如果我錯了并且你真的想要合并資料集,請糾正我。
company_df = NYSE_df.append(NASDAQ_df)
company_df = result.append(OTCBB_df)
將所有 3 個日期的所有行保存到一個新的資料集 company_df 中。
合并的問題可能是,pd.merge只需要 2 個資料幀,但正如我已經說過的,我認為您想要追加而不是合并。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370805.html
上一篇:將融化的資料重塑為大熊貓中的寬表,并將True/False作為變數具有值的值
下一篇:如何在低級列上合并多級列資料框
