gpt4 book ai didi

Python:使用列表对数据框进行子集化

转载 作者:行者123 更新时间:2023-12-01 08:04:50 25 4
gpt4 key购买 nike

我是Python新手,我有一个非常简单的问题。我有一个索引列表,它们对应于数据框的某些行索引。使用此列表(按项目的顺序)对数据框进行子集化的最佳方法是什么?

最佳答案

使用iloc:

import numpy as np
import pandas as pd

np.random.seed(0)
df = pd.DataFrame(np.random.randint(100, 200, (10, 2)), columns=['a', 'b'])
print(df, end='\n\n')
print(df.iloc[[7, 2, 3, 1, 6]])

输出:

    a    b
0 144 147
1 164 167
2 167 109
3 183 121
4 136 187
5 170 188
6 188 112
7 158 165
8 139 187
9 146 188

a b
7 158 165
2 167 109
3 183 121
1 164 167
6 188 112

如果您想使用与中的值相对应的列表,那么我们需要合并:

values = [158, 167, 183, 164, 188]
print(pd.merge(pd.DataFrame([158, 167, 183, 164, 188], columns=['a']), df, on='a', how='left'))

输出:

     a    b
0 158 165
1 167 109
2 183 121
3 164 167
4 188 112

关于Python:使用列表对数据框进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55591190/

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