pandas 获得行列数,shuffle 函数sample() ,重建索引,DataFrame数据筛选——loc,iloc,at,iat

#pandas获取数据行数和列数,并非是用len或者length的,而是用shape:
Count_Row=df.shape[0] #gives number of row count
Count_Col=df.shape[1] #gives number of col count

pandas数据去重,链接,下面函数实现了从“CRASHSEV”中选出1,2,3,4的属性,乱序,然后取出前10000行,按行链接成新的数据,重建索引

def unbanlance(un_data):
    data1 = un_data.loc[(data["CRASHSEV"] == 1)].sample(frac=1).iloc[:10000, :]
    data2 = un_data.loc[(data["CRASHSEV"] == 2)].sample(frac=1).iloc[:10000, :]
    data3 = un_data.loc[(data["CRASHSEV"] == 3)].sample(frac=1).iloc[:10000, :]
    data4 = un_data.loc[(data["CRASHSEV"] == 4)].sample(frac=1).iloc[:10000, :]
    ba_data = pd.concat([data1,data2,data3,data4], axis=0).sample(frac=1).reset_index(drop=True)  #0是按行链接
    return ba_data
其中,sample()参数frac是要返回的比例,比如df中有10行数据,我只想返回其中的30%,那么frac=0.3


以下内容转载自:https://blog.csdn.net/liuweiyuxiang/article/details/78241530

今天我们就来谈一谈其强大的数据筛选功能,主要包括两大类,按照条件筛选和按照索引筛选。可以对行进行筛选,也可以按照列进行筛选。

条件筛选

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandas是一个强大的数据分析工具,在数据处理过程中,我们经常需要对DataFrame查询操作。Pandas提供了多种查询方法,包括lociloc、at、iat和ix。以下是对这些方法的详细解释和区别。 1. locloc是通过标签和列标签进查询的方法。例如,可以使用df.loc[row_index, column_name]的方式来查询DataFrame的特定值或行列的子集。其中row_index可以是单个索引索引列表或布尔组,column_name可以是单个列名或列名列表。loc方法返回的是一个新的DataFrame或Series对象,以便进进一步的操作。 2. ilociloc是通过索引和列索引查询的方法。它与loc的用法类似,但是不是使用标签,而是使用整位置来定位数据。例如,可以使用df.iloc[row_index, column_index]的方式来查询DataFrame的特定值或行列的子集。同样地,iloc方法返回的也是一个新的DataFrame或Series对象。 3. at:at用于直接查询DataFrame中的单个元素,它使用标签和列标签来定位。例如,可以使用df.at[row_label, column_label]的方式来获特定位置的值。与loc方法相比,at方法更快,并且只返回标量值。 4. iatiat用于通过整位置来查询DataFrame中的单个元素。可以使用df.iat[row_index, column_index]的方式来获特定位置的值。iat方法与at方法的区别与ilocloc的区别相似。 5. ix:在旧版本的pandas中,ix方法用于混合标签和整位置的查询。它可以使用标签或整位置来定位数据,但是由于存在一些歧义和性能问题,自从pandas 0.20版本后,被推荐使用lociloc方法来替代ix方法。 总的来说,loc和at是通过标签进查询的方法,ilociat是通过整位置进查询的方法。同时,lociloc返回的是一个新的DataFrame或Series对象,而at和iat只返回标量值。在实际使用中,根据需要选择不同的查询方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值