如何给Python里DataFrame对象中的元素赋值?
首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。
1. 根据列名选择:>>> df['A']
选择df中名称为'A'的列,该操作产生一个Series,等同于df.A。
2. 根据行号选择:>>> df[0 : 3]
选择df中第0到第2行,该操作产生一个DataFrame。
3. 根据索引选择:>>> df['20130102' : '20130104']
选择索引为'20130102'、'20130103'、'20130104'的行,这些索引对应的类型是DatetimeIndex。
4. 根据索引、列名共同选择
一个索引的情况
多个索引的情况
>>> df.loc[index1 : index2] # index1和index2的类型要与df的索引类型一致。>>> df.loc[index1 : index2, 'A']>>> df.loc[index1 : index2, ['A','B']]
5. 根据位置选择
选择某一行
>>> df.iloc[1] # 选择第1行,注:df从第0行开始编号
选择某一列
>>> df.iloc[:, 1] # 选择第1列,注:df从第0列开始编号
选择某行、某列的那个元素
>>> df.iloc[1, 1] # 选择第1行第1列的那个元素
>>> df.iat[1, 1] # 同上,但速度更快
选择某些行、某些列
>>> df.iloc[3:5, 0:2]
>>> df.iloc[[1,2,4], [0, 2]]
>>> df.iloc[1:3, :]
>>> df.iloc[:, 1:3]
6. 根据条件选择
>>> df[df.A > 0] # 返回df中'A'列大于0的行
>>> df[df > 0] # 返回一个与df相同大小的df2,保留原df中大于0的元素,并将原df中小于等于0的元素置为NaN
赋值
>>> df['A'] = s1 # s1是一个Series
>>> df.at[index, ‘A’] = 0
>>> df.iat[0, 1] = 0
>>> df.loc[:, 'A'] = np.array([5] * len(df))
>>> df[df > 0] = df2 # 将df中大于0的元素置为df2中对应的元素
在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。
在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。
我最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有