文章目录
四、数据操作
1、数据的增加
; 1.1 按列增加数据
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
df['政治'] = [90, 89, 100]
print(df)
print('-------------------------')
df.loc[:, '化学'] = [100, 30, 98]
print(df)
print('-------------------------')
lst = [100, 90, 99]
df.insert(1, '历史', lst)
print(df)
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
数学 语文 英语 政治 化学
张三 45 65 100 90 100
李四 56 45 50 89 30
王五 67 67 67 100 98
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
陈六 56 67 90
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
陈六 56 67 90
张丽丽 67 56 100
王一一 69 78 99
1.3 增加多行数据
见上!
2、数据的修改
2.1 修改列标题
- 使用DataFrame对象的columns属性直接赋值
- 使用DataFrame对象的rename方法修改列标题
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
df.columns = ['数学(上)', '语文(上)', '英语(上)']
print(df)
print('-------------------------')
df.rename(columns={'数学(上)': '数学(下)', '语文(上)': '语文(下)', '英语(上)': '英语(下)'}, inplace=True)
print(df)
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
数学(下) 语文(下) 英语(下)
张三 45 65 100
李四 56 45 50
王五 67 67 67
2.2 修改行标题
- 使用DataFrame对象的index属性
- 使用DataFrame对象的rename方法
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
df.index = list('123')
print(df)
print('-------------------------')
df.rename({'1': '一一', '2': '二二', '3': '三三'}, inplace=True, axis=0)
print(df)
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
数学 语文 英语
一一 45 65 100
二二 56 45 50
三三 67 67 67
2.3 修改数据
- 使用DataFrame对象的loc属性和iloc属性
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
df.loc['张三'] = [100, 100, 100]
print(df)
print('-------------------------')
df.iloc[0, :] = [111, 111, 111]
print(df)
print('-------------------------')
df.loc[:, '数学'] = [100, 100, 100]
print(df)
print('-------------------------')
df.iloc[:, 0] = [111, 111, 111]
print(df)
print('-------------------------')
df.loc['李四', '语文'] = 100
print(df)
print('-------------------------')
df.iloc[1, 1] = 666
print(df)
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
数学 语文 英语
张三 111 111 111
李四 56 45 50
王五 67 67 67
数学 语文 英语
张三 111 111 111
李四 111 45 50
王五 111 67 67
数学 语文 英语
张三 111 111 111
李四 111 666 50
王五 111 67 67
3、数据的删除
- 使用DataFrame对象的drop方法
df.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
参数说明:
- labels:行标签或列标签
- axis
- axis=0:按行删除
- axis=1:按列删除
- index:删除行,默认值为None
- columns:删除列,默认值为None
- inplace:对原数组作出修改并返回一个新数组,默认值为False。如果值为True,那么原数组将直接被替换。
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
data = [[45, 65, 100], [56, 45, 50], [67, 67, 67]]
index = ['张三', '李四', '王五']
columns = ['数学', '语文', '英语']
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)
print('-------------------------')
print(df[df['数学'] < 60].index[1])
df.drop(df[df['数学'] < 60].index[1], inplace=True)
print(df)
`python
数学 语文 英语
张三 45 65 100
李四 56 45 50
王五 67 67 67
Original: https://blog.csdn.net/m0_70885101/article/details/127191481
Author: LeoATLiang
Title: 【Pandas数据分析4】数据操作
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/741502/
转载文章受原作者版权保护。转载请注明原作者出处!