小编rwa*_*rwa的帖子

Pandas 用 1 替换数据帧的所有非 NaN 条目,单独保留 NaN

如何将 Pandas 数据框中的所有非 NaN 值替换为 1 但单独保留 NaN 值?几乎就是我正在寻找的。问题是它也使 NaN 值为 0。然后我必须将它们重置为 NaN 之后。

我想要这个

    a    b
0  NaN  QQQ
1  AAA  NaN
2  NaN  BBB
Run Code Online (Sandbox Code Playgroud)

成为这个

    a    b
0  NaN   1
1   1   NaN
2  NaN   1
Run Code Online (Sandbox Code Playgroud)

这段代码几乎就是我想要的

newdf = df.notnull().astype('int')
Run Code Online (Sandbox Code Playgroud)

上面的代码是这样做的

    a    b
0   0   1
1   1   0
2   0   1
Run Code Online (Sandbox Code Playgroud)

python nan dataframe pandas

2
推荐指数
1
解决办法
563
查看次数

使用python yfinance多线程下载雅虎股票历史

我正在尝试下载股票代码列表的历史数据并将每个数据导出到 csv 文件。我可以把它作为一个 for 循环来工作,但是当股票行情列表在 1000 的时候这很慢。我正在尝试对进程进行多线程处理,但我不断收到许多不同的错误。有时它只会下载 1 个文件,有时会下载 2 或 3 次,甚至会下载 6 次,但绝不会超过这个数。我猜这与拥有 6 核 12 线程处理器有关,但我真的不知道。

import csv
import os
import yfinance as yf
import pandas as pd
from threading import Thread

ticker_list = []

with open('tickers.csv', 'r') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    name = None
    for row in reader:
        if row[0]:
            ticker_list.append(row[0])

start_date = '2019-03-03'
end_date = '2020-03-04'

data = pd.DataFrame()

def y_hist(i):
    ticker = ticker_list[i]
    data = yf.download(ticker, start=start_date, end=end_date, group_by="ticker")
    data.to_csv('yhist/' + ticker …
Run Code Online (Sandbox Code Playgroud)

python multithreading yfinance

2
推荐指数
1
解决办法
2153
查看次数

标签 统计

python ×2

dataframe ×1

multithreading ×1

nan ×1

pandas ×1

yfinance ×1