pandas 列、行增删改查

一、 删除行

1.1,drop

通过行名称删除:

df = df.drop(['1', '2']) # 不指定axis默认为0
df.drop(['1', '3'], inplace=True)

通过行号删除:
df.drop(df.index[0], inplace=True)       # 删除第1行
df.drop(df.index[0:3], inplace=True)     # 删除前3行
df.drop(df.index[[0, 2]], inplace=True)  # 删除第1第3行


df.drop('columns',axis=1)#删除不改表原始数据,可以通过重新赋值的方式赋值该数据
df.drop('columns',axis=1,inplace='True') #改变原始数据

1.2  条件删除

通过筛选可以实现很多功能,例如要对某行数据去重,可以获取去重后的index列表后,

chooses = df['B'].drop_duplicates().index
df.loc[chooses]

二、删除列

# 删除A列,会就地修改
del df['A']  

# 通过列名称删除:

df = df.drop(['B', 'C'], axis=1)               # drop不会就地修改,创建副本返回
df.drop(['B', 'C'], axis=1, inplace=True)      # inplace=True会就地修改

# 使用列数删除,传入参数是int,列表,者切片:
df.drop(df.columns[0], axis=1, inplace=True)       # 删除第1列
df.drop(df.columns[0:3], axis=1, inplace=True)     # 删除前3列
df.drop(df.columns[[0, 2]], axis=1, inplace=True)  # 删除第1第3列


三,增加行

# loc,at,set_value,append

# 想增加一行,行名称为‘5’,内容为[16, 17, 18, 19]

df.loc['5'] = [16, 17, 18, 19]   
df.at['5'] = [16, 17, 18, 19]
df.set_value('5', df.columns, [16, 17, 18, 19], takeable=False) 
# warning,set_value会被取消
df = df.append(s)

# 逐行增加
df.loc[len(df)] = [16, 17, 18, 19]
# 注意:len(df)生成的是int,如果生成的int,df已经存在了,会覆盖该行数据,而不会新增

# 插入行

df = df.reindex(index=df.index.insert(2, '5'))
df.loc['5'] = [16, 17, 18, 19]


4、df增加列 

# 通过apply获取序列,s为Series
s = df.apply(lambda row: row['A'] + row['C'], axis=1) 
s = df['A'] + df['C']   # 通过Series矢量相加获取序列


# 通过df[]或者df.loc添加序列
df.loc[:, 'E'] = s
df['E'] = s

# 指定插入位置,和插入列名称
df.insert(0, 'E', s) 

# concat
s = pd.Series([16, 17, 18, 19], name='E', index=df.index)
df = pd.concat([df, s], axis=1)

# 逐列增加
df[len(df)] = [16, 17, 18, 19]
# 注意:len(df)生成的是int,如果生成的int,df已经存在了,会覆盖该列数据,而不会新增


参考

DataFrame删除指定行和列(drop)

pandas删除某些列、行总结

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Pandas是一个专门用于数据分析任务的Python库。它提供了DataFrame数据结构,可以进数据的增、删、改、查操作。要进增加数据的操作,我们可以使用DataFrame的各种方法,例如df.loc或df.iloc来定位要修改的数据位置。通过修改索引和索引,我们可以对DataFrame中的元素、整或整修改。例如,使用df.iloc[row_index, column_index可以修改某一个元素、整或整的值。可以获取指定位置的元素。另外,我们还可以使用各种条件语句来筛选出满足特定条件的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python3 Pandas的DataFrame数据的增、删、改、查](https://blog.csdn.net/weixin_30555753/article/details/96961868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [pandas的增删查改](https://blog.csdn.net/weixin_44623587/article/details/126070839)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

**星光*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值