gpt4 book ai didi

Julia 按前一列读取数据框索引中的最后一列

转载 作者:行者123 更新时间:2023-12-01 16:19:07 27 4
gpt4 key购买 nike

我有一个包含 3 列的数据框年龄、性别和比率

see dataframe

我想通过引用前两列来读取“Rate”比如说,(3,M) 将返回 0.0001885

在 Julia 中有什么聪明的方法可以做到这一点吗?

(我希望解决方案可以是通用的,无论我需要多少索引列,解决方案都可以处理)

最佳答案

创建示例DataFrame

julia> df = DataFrame(Age = rand(1:100,10), Sex = rand(['M','F'],10), Rate = ran
d(10))
10x3 DataFrames.DataFrame
| Row | Age | Sex | Rate |
|-----|-----|-----|------------|
| 1 | 2 | 'F' | 0.0125987 |
| 2 | 81 | 'F' | 0.0538013 |
| 3 | 3 | 'M' | 0.885425 |
| 4 | 92 | 'M' | 0.00412666 |
| 5 | 70 | 'M' | 0.113444 |
| 6 | 37 | 'M' | 0.845769 |
| 7 | 47 | 'M' | 0.234437 |
| 8 | 68 | 'M' | 0.791475 |
| 9 | 46 | 'M' | 0.831009 |
| 10 | 30 | 'M' | 0.812764 |

根据多个条件选择行:

julia> df[(df[:Age].==47) & (df[:Sex].=='M'),:]
1x3 DataFrames.DataFrame
| Row | Age | Sex | Rate |
|-----|-----|-----|----------|
| 1 | 47 | 'M' | 0.234437 |

通过 id 选择列:

julia> df[(df[:Age].>47) & (df[:Sex].=='M'),3]
3-element DataArrays.DataArray{Float64,1}:
0.00412666
0.113444
0.791475

选择最后一列:

julia> df[(df[:Age].>47) & (df[:Sex].=='M'),end]
3-element DataArrays.DataArray{Float64,1}:
0.00412666
0.113444
0.791475

选择多列:

julia> df[(df[:Age].>47) & (df[:Sex].=='M'),[1,3]]
3x2 DataFrames.DataFrame
| Row | Age | Rate |
|-----|-----|------------|
| 1 | 92 | 0.00412666 |
| 2 | 70 | 0.113444 |
| 3 | 68 | 0.791475 |

也可以使用列符号来做同样的事情,例如:Rate 而不是 id。

关于Julia 按前一列读取数据框索引中的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960632/

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