您的位置:首页 > 财经 > 金融 > 浙江省建设厅信息港官网_深圳市宝安区邮编_seo技术经理_上海网络推广专员

浙江省建设厅信息港官网_深圳市宝安区邮编_seo技术经理_上海网络推广专员

2025/4/4 7:43:58 来源:https://blog.csdn.net/2302_77067662/article/details/146987705  浏览:    关键词:浙江省建设厅信息港官网_深圳市宝安区邮编_seo技术经理_上海网络推广专员
浙江省建设厅信息港官网_深圳市宝安区邮编_seo技术经理_上海网络推广专员

文章目录

  • 前言
  • 一、删除数据
  • 二、索引操作
    • 1.loc方法
    • 2.iloc方法
  • 三、添加数据
    • 1.loc方法添加数据
    • 2.concat方法拼接数据
  • 四、重置索引


前言

通过今天的学习,我掌握了对Pandas对象数据元素进行增删操作以及重置索引的操作


一、删除数据

  • DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors=‘raise’)
  • inplace参数默认情况下,drop() 不会修改原 DataFrame,而是返回一个新的DataFrame
data = {'one': pd.Series(data=[1, 2, 3], index=['a', 'b', 'c']),'two': pd.Series(data=[1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(data)
print(df)# 删除列
df1 = df.drop(index="a")
df2 = df.drop(labels="a",axis=0) #labels和axis参数需要搭配使用# 删除行
df1 = df.drop(columns="one")
df2 = df.drop(labels="one",axis=1)# 直接修改
df.drop(index="a",inplace=True) #这里修改了df

tips:labels参数需要和axis参数搭配使用,而单独使用index,columns可以直接删除对应的行和列

二、索引操作

1.loc方法

  • DataFrame.loc[row_indexer, column_indexer]
  • 使用行,列索引而非下标作为参数
data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])print(df.loc['a'])  # 选择行标签为 'a' 的行
print(df.loc['a':'c'])  # 选择行标签从 'a' 到 'c' 的行
print(df.loc['a', 'B'])  # 选择行标签为 'a',列标签为 'B' 的元素
print(df.loc[['a','c'], ['A','C']])  # 选择多行数据
print(df.loc['a':'c','A':'C']) #使用切片选择多行
print(df.loc[...,"A":"B"])

tips:注意选择多行数据和使用切片选择多行使用上有差别

2.iloc方法

  • DataFrame.iloc[row_indexer, column_indexer]
  • 与loc方法的区别为:使用下标而非行,列索引
print(df.iloc[0])
print(df.iloc[0:2])
print(df.iloc[1,1])
print(df.iloc[1:3,0:2])
print(df.iloc[[1,3],[0,2]])

三、添加数据

1.loc方法添加数据

data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])# loc方法添加行
df.loc['e'] = [17, 18, 19]

tips:iloc方法添加行会报错

2.concat方法拼接数据

  • pd.concat(objs, axis=0, join=‘outer’, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
  • axis:指定连接的轴
  • join:指定连接方式,‘outer’ 表示并集(默认),‘inner’ 表示交集
  • ignore_index:如果为 True,则忽略原始索引并生成新的索引
df1 = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
})df2 = pd.DataFrame({'A': [7, 8],'B': [10, 11],'C': [12,13]
})result = pd.concat([df1, df2], axis=0,ignore_index=True,join="inner")
  • concat拼接Series和Dataframe
df = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
})series = pd.Series([7, 8, 9], name='C')
re = pd.concat([df,series],axis=0)

四、重置索引

  • DataFrame.reindex(labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=np.nan, limit=None, tolerance=None)
  • 可以重置索引,也可以添加新的行列,默认填充值为None
  • method:用于填充缺失值的方法
  • fill_value:用于填充缺失值的值
data = {'A': [1, 2, 3],'B': [4, 5, 6],'C': [7, 8, 9]
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])new_index = ['a', 'c', 'b', 'd']
df_reindexed = df.reindex(index=new_index,fill_value=666)new_columns = ['A', 'C', 'B', 'D']
df_reindexed = df.reindex(columns=new_columns,fill_value=666)

THE END

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com