gpt4 book ai didi

python Pandas : Subsetting data frame both by rows and columns?

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:41 27 4
gpt4 key购买 nike

数据框有 w(周)和 y(年)列。

d = {
'y': [11,11,13,15,15],
'w': [5, 4, 7, 7, 8],
'z': [1, 2, 3, 4, 5]
}
df = pd.DataFrame(d)

In [61]: df
Out[61]:
w y z
0 5 11 1
1 4 11 2
2 7 13 3
3 7 15 4
4 8 15 5

两个问题:

1) 如何从此数据帧中获取最小/最大日期作为列表 [w,y] 中的两个数字 wy > ?

2) 如何对列和行进行子集化,使结果数据框中的所有 wy 都受条件限制:

11 <= y <= 15
4 <= w <= 7

要获得最小/最大对,我需要函数:

min_pair() --> [11,4]                                                                                         
max_pair() --> [15,8]

和这些以获得数据框子集:

from_to(y1,w1,y2,w2)                                                                                        
from_to(11,4,15,7) -->

应该像这样返回 rf 数据框:

r = {
'y': [11,13,15],
'w': [4, 7, 7 ],
'z': [2, 3, 4 ]
}

rf = pd.DataFrame(r)

In [62]: rf
Out[62]:
w y z
0 4 11 2
1 7 13 3
2 7 15 4

这有什么标准函数吗?

更新

对于子集,以下对我有用:

df[(df.y <= 15 ) & (df.y >= 11) & (df.w >= 4) & (df.w <= 7)]

尽管打了很多字......

最佳答案

这里有几个方法

In [176]: df.min().tolist()
Out[176]: [4, 11]

In [177]: df.max().tolist()
Out[177]: [8, 15]

In [178]: df.query('11 <= y <= 15 and 4 <= w <= 7')
Out[178]:
w y
0 5 11
1 4 11
2 7 13
3 7 15

关于 python Pandas : Subsetting data frame both by rows and columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322500/

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