【Pandas数据分析4】数据操作

文章目录

四、数据操作

1、数据的增加

【Pandas数据分析4】数据操作

; 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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球