【发布时间】:2021-05-25 19:12:27
【问题描述】:
我有一个数据框,我想将所有行分组在 id 中,其中在 country = russia 和 month = March 的行之后是 country != russia 的行
输入数据框:
import pandas as pd
import numpy as np
data = {'fruit': ['pear','pear','pear','banana', 'banana', 'banana', 'apricot', 'pear','watermelon','pear','banana', 'banana', 'banana','banana', 'melon', 'cherry','banana', 'kiwi', 'kiwi', 'kiwi'],
'country': ['france','france', 'france', 'russia', 'russia', 'russia','russia', 'france','russia','usa', 'russia', 'ghana','ghana','ghana', 'ghana', 'albania','andorra', 'russia', 'russia', 'russia'],
'id': ['01','01','01','01','01','01','02','02','03','03','011', '011', '011','011', '6', '6','6', '5', '5', '5'],
'id1': ['01','01','01','01','01','01','02','02','03','03','011', '011', '011','011', '6', '6','6', '5', '5', '5'],
'month': ['january','september','january','january','september','january','january', 'september','march','march', 'november', 'march', 'january','january', 'march', 'january','july', 'march', 'march', 'april']
}
df = pd.DataFrame(data, columns = ['fruit','country', 'id','id1', 'month'])
我用pd.pivot_table(df, values='id', index=['fruit','country'], columns='id1', aggfunc='count') 制作了数据透视表,我得到了许多无用的行,其中有NaN 或非常小的数字。
如何对数据透视表进行排序以获取数字不少于 3 的行?谁能看到问题
我需要得到这个数据框
data = {'fruit': ['banana', 'banana', 'kiwi','pear'],
'country': [ 'ghana','russia','russia','france'],
'01': [np.nan,3,np.nan,3],
'011': [3,1,np.nan,np.nan],
'5': [np.nan,np.nan,3,np.nan]
}
df = pd.DataFrame(data, columns = ['fruit','country', '01', '011','5'])
【问题讨论】:
-
你输入的数据和图片不一样
-
@Corralien 谢谢你,我刚刚更正了它
标签: python pandas pivot pivot-table