添加和修改数据的方法, 都是和索引知识结合在一起。
索引对应位置的数据然后赋值即可。
新增一列数据: 例如我们新增一列产品编号数据
import pandas as pd
data = {'订单编号': {0: 21407300627014900,
1: 24270488269081200,
2: 21402600386365500,
3: 21398820349555700,
4: 21446781606162100,
5: 24273590145516800},
'买家会员名': {0: 1425, 1: 2163, 2: 375, 3: 2618, 4: 2012, 5: 2052},
'买家支付宝账号': {0: 'yorzikyA6C',
1: 'AC870BA5860',
2: 'AC7574B65A0',
3: 'A807C90766A',
4: 'A505588565B',
5: 'B8A504997qq'},
'买家应付货款': {0: 58.51, 1: 15.7, 2: 7.9, 3: 4.81, 4: 23.92, 5: 44.86},
'买家应付邮费': {0: 0, 1: 5, 2: 5, 3: 5, 4: 5, 5: 4},
'买家支付积分': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0},
'总金额': {0: 58.51, 1: 20.7, 2: 12.9, 3: 9.81, 4: 28.92, 5: 48.86},
'订单状态': {0: '交易成功', 1: '交易成功', 2: '交易成功', 3: '交易成功', 4: '交易成功', 5: '交易成功'}}
df = pd.DataFrame(data)
df['编号'] = ['H1', 'H2', 'H3', 'H4', 'H5','H6']
df
新增一行数据:
新增行数据只能使用loc方法, 不能使用iloc方法, 因为新增的行数据必须传递行索引值。
# 索引可以不连续
df.loc[6] = ['21407300627018725', '3688', '158ABsd2841', '97', '0', '0', '97' ,'交易成功' ,'H7']
df
修改数据:
只有用索引的方式提取出要修改的数据, 然后重复赋值, 覆盖原来的数据即可。
几种索引方法都可以用来修改数据。
df['编号'] = [1, 2, 3, 4, 5, 6,7]
df
df.loc[0, '总金额'] = 102
df
df.iloc[-1, 3]='128'
df
修改一行数据
df.loc[3] = ['21398820349588700','2619','A807C90766A','4.81','5','0','9.81','交易成功',4]
df
删除数据
number = df.pop('编号')
number
df
和Series中drop的使用方法类似, 但DataFrame是二维数据, 因此删除的时候可以指定删除行, 或删除列。
参数说明:
1.index=None, 想要删除的行索引值 2.columns=None,想要删除的列索引值 3.inplace=False, 为True时, 直接在内部替换数据
df.drop(index=3)
# 封装在列表中, 一次性删除多个
df.drop(index=[2, 3, 4])
df.drop(columns='买家支付积分')
df.drop(columns=['买家支付积分', '订单状态'])
inplace设置为真, 会直接在原数据中进行删除
df.drop(columns='买家支付宝账号', inplace=True)
df