gpt4 book ai didi

dataframe - Julia - 搜索缺少所有列的行并删除这些行的函数

转载 作者:行者123 更新时间:2023-12-04 03:29:34 27 4
gpt4 key购买 nike

我试图在 Python 中找到类似的功能,在其中我可以删除一行中包含“所有”空值的行 -
python 中的代码 - 使用 Pandas 数据框“closed_prices”

closed_prices.dropna(axis=0, how=‘all’, inplace=True)
基本上我想删除所有列都有缺失值的行 - 我正在使用股票数据并想要删除周末和假期,每列代表特定股票的收盘价。因此,如果特定行的所有列值都为空/缺失,我想删除该行。
我正在使用以下代码 -
using DataFrames
using DataFramesMeta
using CSV
using Dates
using Query


fh_5 = CSV.read("D:\\Julia_Dataframe\\JuliaCon2020-DataFrames-Tutorial\\fh_5yrs.csv", DataFrame)

min_date = minimum(fh_5[:, "date"])
max_date = maximum(fh_5[:, "date"])
date_seq = string.(collect(Dates.Date(min_date) : Dates.Day(1) : Dates.Date(max_date)))
date_range = df = DataFrame(dates = date_seq)
date_range.dates = Date.(date_range.dates, "yyyy-mm-dd")

for s in unique(fh_5.symbol)
df = fh_5[fh_5.symbol .== s, ["date","close"]]
date_range = leftjoin(date_range, df, on =:"dates" => :"date")
rename!(date_range, Dict(:close => s))
end
size(date_range, 1)
size(filter(x -> any(!ismissing, x), date_range), 1)
size(date_range, 1)

最佳答案

我假设您正在使用 DataFrames.jl。那么如果 df是你的数据框只是写:

filter(x -> any(!ismissing, x), df)
filter!如果您想要就地操作。
例子:
julia> using DataFrames, Random

julia> Random.seed!(1234);

julia> df = DataFrame(rand([1, missing], 10, 2), :auto)
10×2 DataFrame
Row │ x1 x2
│ Int64? Int64?
─────┼──────────────────
1 │ 1 1
2 │ missing 1
3 │ missing missing
4 │ missing missing
5 │ 1 1
6 │ 1 missing
7 │ missing missing
8 │ 1 missing
9 │ 1 1
10 │ missing 1

julia> filter(x -> any(!ismissing, x), df)
7×2 DataFrame
Row │ x1 x2
│ Int64? Int64?
─────┼──────────────────
1 │ 1 1
2 │ missing 1
3 │ 1 1
4 │ 1 missing
5 │ 1 missing
6 │ 1 1
7 │ missing 1

关于dataframe - Julia - 搜索缺少所有列的行并删除这些行的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67141207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com