首页 > 其他分享 >DataFrame随机选行+纵向拼接

DataFrame随机选行+纵向拼接

时间:2023-07-25 16:01:28浏览次数:30  
标签:city no df DataFrame second 拼接 选行 yes first

Dataframe随机选行

(1)dataframe实例:

city_data = {'city': ['beijing', 'shanghai', 'xining', 'dalian', 'xian', 'chongqing'],
             'location': ['north', 'south', 'northwest', 'northeast', 'west', 'southwest'],
             'level': ['first', 'first', 'third', 'second', 'second', 'second'],
             'if-to-sea':['no', 'yes', 'no','yes','no','no']}

city_df = pd.DataFrame(city_data)

dataframe具体如下:

         city   location   level if-to-sea
0    beijing      north   first        no
1   shanghai      south   first       yes
2     xining  northwest   third        no
3     dalian  northeast  second       yes
4       xian       west  second        no
5  chongqing  southwest  second        no

(2)随机取行--方式1
city_df_2_3 = city_df.sample(frac=0.6) # 随机取行比例为0.6

         city   location   level if-to-sea
4       xian       west  second        no
0    beijing      north   first        no
5  chongqing  southwest  second        no
3     dalian  northeast  second       yes

(2)随机取行--方式2
city_df_2_3_1 = city_df.sample(n=4)

    city     location   level   if-to-sea
0  beijing      north   first        no
2   xining  northwest   third        no
4     xian       west  second        no
3   dalian  northeast  second       yes

Dataframe在随机取行后,取剩余的Dataframe

承接上面的案例,在取完原Dataframe的2/3后,我们想得到剩余的1/3.

city_df_2_3_index = city_df_2_3.index.to_list()
city_df_1_3 = city_df[~city_df.index.isin(city_df_2_3_index)]

得到:

         city   location   level if-to-sea
3     dalian  northeast  second       yes
5  chongqing  southwest  second        no

将两个dataframe进行纵向拼接

city_df_concat = pd.concat([city_df_1_3, city_df_2_3])

得到:

        city   location   level if-to-sea
1   shanghai      south   first       yes
3     dalian  northeast  second       yes
5  chongqing  southwest  second        no
4       xian       west  second        no
0    beijing      north   first        no
2     xining  northwest   third        no

标签:city,no,df,DataFrame,second,拼接,选行,yes,first
From: https://www.cnblogs.com/bonne-chance/p/17580076.html

相关文章

  • DataFrame筛选多行和多列
    Dataframe筛选多行在实际数据筛选的时候,有时候需要选择多行,例如,有一个列表数据,需要在Dataframe里筛选,某列中在列表数据中的行。在这种情况下可以使用isin语法。具体如下:obj_df=df[df['obj_col'].isin(obj_list)]#筛选的行non_obj_df=df[~df['obj_col'].isin(obj_list)]......
  • spark2.4 dataframe 分组聚合window
    Spark2.4DataFrame分组聚合和窗口函数简介ApacheSpark是一个强大的分布式计算框架,可以用于处理大规模的数据。Spark提供了多种操作数据的方式,其中DataFrame是一种基于分布式数据集的API,它提供了一种高级的数据操作接口,可以方便地对大规模数据进行分组聚合和窗口函数的处理。......
  • 【864】pandas dataframe根据规则批量赋值
    ref:Pandas新增一列并按条件赋值?把下图中的NaN都赋值为0df.loc[条件判断,'value']=0m=pd.merge(gdf_africa,df_af_mp,how='left',on='country')m.loc[m['value'].isna(),'value']=0m ......
  • 数据库PostgreSQL PG 字符串拼接,大小写转换,substring
    前言PostgreSQL数据库简称pg数据库。本文主要介绍使用pg数据库时,字符串的一些常用操作。例如:多个字符串如何连接在一起,字符串如何大小写转换,删除字符串两边的空格,查找字符位置,查找子字符串等。一、多个字符串如何连接,拼接?pg的字符串连接使用||,注意不是+1.将2个字符串hello......
  • 「JOISC 2019 Day4」蛋糕拼接 3 题解
    先考虑这个式子:\(\sum_{j=1}^{M}|C_{k_{j}}-C_{k_{j+1}}|\)一定是在\(C\)有序时取到,具体证明很简单各位读者自己证明。那么现在式子变成:\(\sum{V}+2\times({C_{\max}-C_{\min}})\)这个时候一个常见的技巧是将\(C\)排序。这个时候就可以定义状态:\(dp_{i,j}=\s......
  • Python3 Pandas DataFrame 对某一列求和
    在操作pandas的DataFrame的时候,常常会遇到某些列是字符串,某一些列是数值的情况,如果直接使用df_obj.apply(sum)往往会出错使用如下方式即可对其中某一列进行求和dataf_test1['diff'].sum()//diff为要求和的列......
  • Python pandas.DataFrame.iat函数方法的使用
    DataFrame.iat按整数位置访问行/列对的单个值。与iloc类似,两者都提供基于整数的查找。如果只需要在DataFrame或Series中获取或设置一个值,则使用iat。Raises:当整数位置超出界限时抛出IndexError例子:>>>df=pd.DataFrame([[0,2,3],[0,4,1],[10,20,30]],.......
  • java list拼接成字符串
    JavaList拼接成字符串的实现前言在Java开发中,经常会遇到将一个List拼接成一个字符串的需求。本文将会介绍如何使用Java代码实现将一个List拼接成一个字符串的功能。总体流程下面是整个拼接过程的总体流程,可以用表格展示如下:步骤描述1创建一个空字符串2遍历List......
  • P8708 [蓝桥杯 2020 省 A1] 整数小拼接 题解
    前言传送门blog思路这种选出两个数拼接在一起的题,一看就可以使用two-point,我们使用$l$和$r$分别从最大的和最小的开始搜索,进行两次。以$l$为头,$r$为尾。以$r$为头,$l$为尾。如何比较大小呢?我们可以先去做宇宙总统这道题。首先排序的$cmp$:boolcmp(strin......
  • .net 实现数组拼接成sql语句IN
    一、简单记录一下.net实现字符串数组拼接成sql语句IN把0001|ceshi04|ceshi0F|ceshi0J变成‘0001’,‘ceshi04’,‘ceshi0F’格式List<string>joinCodeList=model.SJoinList.Split('|').ToList();stringcaseSql=joinCodeList.Aggregate("",(current,s)=>cu......