[英]How can I find 5 consecutive rows in pandas Dataframe where a value of a certain column is at least 0.5
[英]How to merge only on rows where there is no value in the rows of a certain column in pandas dataframe
我有以下 dataframe df1,
CompanyName Country Ticker ....................
0 Apple Inc. US AAPL
1 Microsoft US
2 Sony US
3 DBS SG D05
4 Razer HK 0700
5 General Electric US GE
然后我有一個所有公司名稱的列表,只有他們的股票代碼tickerdf,
CompanyName Ticker
0 Apple Inc. AAPL
1 Microsoft MSFT
2 Sony SNE
3 DBS D05.SI
4 Razer 0700.HK
5 General Electric GE
如果我想合並,我會做的公司名稱,
mergeddf = pd.merge(df1,tickerdf,on=['CompanyName'], how='left')
但是,如果我這樣做了,我最終會得到來自 tickerdf1 的所有 Ticker 值,就像這樣
CompanyName Country Ticker ....................
0 Apple Inc. US AAPL
1 Microsoft US MSFT
2 Sony US SNE
3 DBS SG D05.SI
4 Razer HK 0700.HK
5 General Electric US GE
但是,我希望它保留 df1 中的值,基本上只在代碼列上沒有數據的行上合並,output 應該是這樣的。
CompanyName Country Ticker ....................
0 Apple Inc. US AAPL
1 Microsoft US MSFT
2 Sony US SNE
3 DBS SG D05
4 Razer HK 0700
5 General Electric US GE
是否可以僅合並 Ticker 列為空的行上的數據?
你可以做fillna
:
# Ticker by company
s = df2.set_index('CompanyName')['Ticker']
df['Ticker'] = df['Ticker'].fillna(df['CompanyName'].map(s) )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.