亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas DataFrame:使用列軸索引添加具有行值總和的列?

Pandas DataFrame:使用列軸索引添加具有行值總和的列?

慕雪6442864 2023-03-16 17:28:48
查看之前提出的問題,我找不到有用的答案,因為我的專欄是通過混合使用 pytrends 和 yfinance 值生成的。這是獲取相關數據框的代碼:import yfinance as yffrom pytrends.request import TrendReq as trticker = "TER"pytrends = tr(hl='en-US', tz=360)# =============================================================================# Get Stock Information# These variables are stored as DataFrames# =============================================================================stock = yf.Ticker(ticker)i = stock.infostock_info = {'Ticker':ticker}stock_info.update(i)# =============================================================================# Get Google Trends Ranking for our Stock# =============================================================================longName = stock_info.get('longName')shortName = stock_info.get('shortName').split(',')[0]keywords = [ticker, longName, shortName]pytrends.build_payload(keywords, timeframe='all')search_rank = pytrends.interest_over_time()這會為我的 search_rank(第一行)返回一個 pandas 數據框:date                | TER | Teradyne, Inc. | Teradyne | isPartial2004-01-01 00:00:00 | 25  | 0              | 1        | False我想做的是刪除 isPartial 列并將其替換為“Rank”列,該列將從第 1、2 和 3 列中獲取值并將它們相加,這樣它看起來像這樣:date                | TER | Teradyne, Inc. | Teradyne | Rank2004-01-01 00:00:00 | 25  | 0              | 1        | 26關于如何完成這項工作的任何想法都將是一個巨大的幫助!PS:我不想使用實際列名的原因是因為此信息會根據股票行情而改變。另外,我是 python 的極度菜鳥,基本上還在學習 >.<
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

刪除一列


del search_rank['isPartial']

添加計算列


search_rank['Rank'] = df.apply(lambda row: row[0]+row[1] + row[2], axis=1)

我用上面的修改測試了你的代碼,這里是完整的代碼


import yfinance as yf

from pytrends.request import TrendReq as tr


ticker = "TER"

pytrends = tr(hl='en-US', tz=360)


# =============================================================================

# Get Stock Information

# These variables are stored as DataFrames

# =============================================================================

stock = yf.Ticker(ticker)

i = stock.info

stock_info = {'Ticker':ticker}

stock_info.update(i)


# =============================================================================

# Get Google Trends Ranking for our Stock

# =============================================================================

longName = stock_info.get('longName')

shortName = stock_info.get('shortName').split(',')[0]


keywords = [ticker, longName, shortName]

pytrends.build_payload(keywords, timeframe='all')

search_rank = pytrends.interest_over_time()

del search_rank['isPartial']

search_rank['Rank'] = search_rank.apply(lambda row: row[0]+row[1]+row[2] , axis=1)


print(search_rank)

輸出:


 Date        TER  Teradyne, Inc.  Teradyne  Rank

2004-01-01   25               0         1    26

2004-02-01   25               0         1    26

2004-03-01   29               0         1    30


查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號