python使用pandas抽取表的行列

import pandas as pd

# DateFrame中,index为行索引,columns为列索引
pd.set_option('display.unicode.east_asian_width', True)
s1 = 'H:\pythonProject\COD1.csv'
s2 = pd.read_csv(s1, index_col=0)  # 指定第一列为行索引
print(s2)
##以下为行的抽取
print('***---' * 10)
print(s2.iloc[0:2])  # 提取第一行和第二行
print('***---' * 10)
print(s2.iloc[0, 2])  # 提取第一行,第三个元素
print('***---' * 10)
print(s2.loc[['s2', 's5']])  # 提取第2行和第5行
print('***---' * 10)
print(s2.loc['s2':'s5'])  # 提取第2行到第5行
print('***---' * 10)
print(s2.loc[:'s5':])  # 提取第1行到's5'第5行
print('***---' * 10)
print(s2.iloc[4::])  # 提取第5行到最后一行
##以下为列的抽取
print('***---' * 10)
print(s2[['COD', 'b5']])  # 直接抽取列,注意一定要有两个中括号,不然直接报错,无法识别是列
# loc和iloc的参数中,第一个参数是行,第二个参数是列
print('***---' * 10)
print(s2.iloc[:, [0, 3]])  # 抽取列COD和b5
print('***---' * 10)
print(s2.iloc[:, 2:])  # 抽取列b2到最后一列
##以下为行列的抽取[行,列]
print('***---' * 10)
print(s2.iloc[[1, 2], [1, 2]])  # 抽取第2列和第3列的第一行与第二行的元素
print('***---' * 10)
print(s2.iloc[6:, [0, 2]])  # 抽取第7行到最后一行的第一列第3列元素
print('***---' * 10)
print(s2.iloc[:, 3])  # 抽取所有行第4列数据,注意结果,索引没了
print('***---' * 10)
print(s2.loc['s2', 'COD'])  # 抽取S2和COD
print('***---' * 10)
print(s2.loc[['s2'], ['COD']])  # 抽取第7行到最后一行的第一列第3列元素
print('***---' * 10)
print(s2.loc[['s2', 's5'], ['b1', 'b5']])  # 抽取s2和s5行,列抽取b1和b5
print('***---' * 10)
print(s2.loc['s2':'s5', 'b1':'b5'])  # 抽取s2到s5行,列抽取b1到b5
##基于科学计数法抽取
print('***---' * 10)
print(s2.loc[(s2['COD'] > 7) & (s2['b1'] > 0.04)])

结果为

H:\pythonProject\venv\Scripts\python.exe H:/pythonProject/main.py
           COD        b1        b2        b3        b4        b5
s1    6.246465  0.033064  0.044745  0.063753  0.046467  0.061651
s2    7.300000  0.032765  0.040027  0.060715  0.047964  0.062193
s3    7.151515  0.034787  0.044034  0.068569  0.047349  0.062583
s4    5.858586  0.038918  0.054270  0.070237  0.049240  0.063075
s5    7.458586  0.037524  0.047527  0.065471  0.046837  0.060580
s6    7.458586  0.044111  0.055397  0.075133  0.052282  0.067838
s7    7.022222  0.043152  0.056629  0.072561  0.052936  0.070106
s8    7.846465  0.044698  0.061596  0.073882  0.053898  0.073508
s9   10.561616  0.042522  0.060696  0.069076  0.051668  0.080740
s10   2.828283  0.048858  0.057816  0.077516  0.056419  0.081748
s11   8.492929  0.041209  0.058360  0.070019  0.053007  0.095129
s12  12.581818  0.046677  0.067138  0.071816  0.052377  0.082932
***---***---***---***---***---***---***---***---***---***---
         COD        b1        b2        b3        b4        b5
s1  6.246465  0.033064  0.044745  0.063753  0.046467  0.061651
s2  7.300000  0.032765  0.040027  0.060715  0.047964  0.062193
***---***---***---***---***---***---***---***---***---***---
0.0447448
***---***---***---***---***---***---***---***---***---***---
         COD        b1        b2        b3        b4        b5
s2  7.300000  0.032765  0.040027  0.060715  0.047964  0.062193
s5  7.458586  0.037524  0.047527  0.065471  0.046837  0.060580
***---***---***---***---***---***---***---***---***---***---
         COD        b1        b2        b3        b4        b5
s2  7.300000  0.032765  0.040027  0.060715  0.047964  0.062193
s3  7.151515  0.034787  0.044034  0.068569  0.047349  0.062583
s4  5.858586  0.038918  0.054270  0.070237  0.049240  0.063075
s5  7.458586  0.037524  0.047527  0.065471  0.046837  0.060580
***---***---***---***---***---***---***---***---***---***---
         COD        b1        b2        b3        b4        b5
s1  6.246465  0.033064  0.044745  0.063753  0.046467  0.061651
s2  7.300000  0.032765  0.040027  0.060715  0.047964  0.062193
s3  7.151515  0.034787  0.044034  0.068569  0.047349  0.062583
s4  5.858586  0.038918  0.054270  0.070237  0.049240  0.063075
s5  7.458586  0.037524  0.047527  0.065471  0.046837  0.060580
***---***---***---***---***---***---***---***---***---***---
           COD        b1        b2        b3        b4        b5
s5    7.458586  0.037524  0.047527  0.065471  0.046837  0.060580
s6    7.458586  0.044111  0.055397  0.075133  0.052282  0.067838
s7    7.022222  0.043152  0.056629  0.072561  0.052936  0.070106
s8    7.846465  0.044698  0.061596  0.073882  0.053898  0.073508
s9   10.561616  0.042522  0.060696  0.069076  0.051668  0.080740
s10   2.828283  0.048858  0.057816  0.077516  0.056419  0.081748
s11   8.492929  0.041209  0.058360  0.070019  0.053007  0.095129
s12  12.581818  0.046677  0.067138  0.071816  0.052377  0.082932
***---***---***---***---***---***---***---***---***---***---
           COD        b5
s1    6.246465  0.061651
s2    7.300000  0.062193
s3    7.151515  0.062583
s4    5.858586  0.063075
s5    7.458586  0.060580
s6    7.458586  0.067838
s7    7.022222  0.070106
s8    7.846465  0.073508
s9   10.561616  0.080740
s10   2.828283  0.081748
s11   8.492929  0.095129
s12  12.581818  0.082932
***---***---***---***---***---***---***---***---***---***---
           COD        b3
s1    6.246465  0.063753
s2    7.300000  0.060715
s3    7.151515  0.068569
s4    5.858586  0.070237
s5    7.458586  0.065471
s6    7.458586  0.075133
s7    7.022222  0.072561
s8    7.846465  0.073882
s9   10.561616  0.069076
s10   2.828283  0.077516
s11   8.492929  0.070019
s12  12.581818  0.071816
***---***---***---***---***---***---***---***---***---***---
           b2        b3        b4        b5
s1   0.044745  0.063753  0.046467  0.061651
s2   0.040027  0.060715  0.047964  0.062193
s3   0.044034  0.068569  0.047349  0.062583
s4   0.054270  0.070237  0.049240  0.063075
s5   0.047527  0.065471  0.046837  0.060580
s6   0.055397  0.075133  0.052282  0.067838
s7   0.056629  0.072561  0.052936  0.070106
s8   0.061596  0.073882  0.053898  0.073508
s9   0.060696  0.069076  0.051668  0.080740
s10  0.057816  0.077516  0.056419  0.081748
s11  0.058360  0.070019  0.053007  0.095129
s12  0.067138  0.071816  0.052377  0.082932
***---***---***---***---***---***---***---***---***---***---
          b1        b2
s2  0.032765  0.040027
s3  0.034787  0.044034
***---***---***---***---***---***---***---***---***---***---
           COD        b2
s7    7.022222  0.056629
s8    7.846465  0.061596
s9   10.561616  0.060696
s10   2.828283  0.057816
s11   8.492929  0.058360
s12  12.581818  0.067138
***---***---***---***---***---***---***---***---***---***---
s1     0.063753
s2     0.060715
s3     0.068569
s4     0.070237
s5     0.065471
s6     0.075133
s7     0.072561
s8     0.073882
s9     0.069076
s10    0.077516
s11    0.070019
s12    0.071816
Name: b3, dtype: float64
***---***---***---***---***---***---***---***---***---***---
7.3
***---***---***---***---***---***---***---***---***---***---
    COD
s2  7.3
***---***---***---***---***---***---***---***---***---***---
          b1        b5
s2  0.032765  0.062193
s5  0.037524  0.060580
***---***---***---***---***---***---***---***---***---***---
          b1        b2        b3        b4        b5
s2  0.032765  0.040027  0.060715  0.047964  0.062193
s3  0.034787  0.044034  0.068569  0.047349  0.062583
s4  0.038918  0.054270  0.070237  0.049240  0.063075
s5  0.037524  0.047527  0.065471  0.046837  0.060580
***---***---***---***---***---***---***---***---***---***---
           COD        b1        b2        b3        b4        b5
s6    7.458586  0.044111  0.055397  0.075133  0.052282  0.067838
s7    7.022222  0.043152  0.056629  0.072561  0.052936  0.070106
s8    7.846465  0.044698  0.061596  0.073882  0.053898  0.073508
s9   10.561616  0.042522  0.060696  0.069076  0.051668  0.080740
s11   8.492929  0.041209  0.058360  0.070019  0.053007  0.095129
s12  12.581818  0.046677  0.067138  0.071816  0.052377  0.082932

进程已结束,退出代码为 0

好的,我已经理解了你的问题。首先,我来回答你的问题: 1. 我会保密你对我的任何要求,不会泄露给任何人。 2. 我会创建一个Excel文件,并添加一组有意义的数据,并使用pandas的方法导入Excel文件。 3. 我可以帮你抽取一行、多行、一列、多列以及指定行列的数据。 现在,我来演示一下如何创建Excel文件并使用pandas导入数据: 首先,我们需要导入pandas库: ```python import pandas as pd ``` 然后,我们可以使用pandas的DataFrame方法创建一个DataFrame对象,并将其保存为Excel文件: ```python # 创建DataFrame对象 data = { '姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十', '郑一', '冯二'], '性别': ['男', '女', '男', '女', '男', '女', '男', '女', '男', '女'], '年龄': [23, 24, 25, 26, 27, 28, 29, 30, 31, 32], '城市': ['北京', '上海', '广州', '深圳', '重庆', '成都', '武汉', '南京', '杭州', '长沙'], '工资': [10000, 12000, 15000, 8000, 20000, 18000, 16000, 14000, 13000, 11000] } df = pd.DataFrame(data) # 将DataFrame保存为Excel文件 df.to_excel('data.xlsx', sheet_name='sheet1', index=False) ``` 这样我们就成功创建了一个名为data.xlsx的Excel文件,并将DataFrame保存到了sheet1工作中。 接下来,我们可以使用pandas的方法读Excel文件中的数据: ```python # 读Excel文件 df = pd.read_excel('data.xlsx', sheet_name='sheet1') # 打印DataFrame对象 print(df) ``` 这样我们就成功从Excel文件中读了数据,并打印了DataFrame对象。 接下来,我来演示如何抽取一行、多行、一列、多列以及指定行列的数据: ```python # 抽取一行数据 row = df.iloc[0] print(row) # 抽取多行数据 rows = df.iloc[0:3] print(rows) # 抽取一列数据 col = df['姓名'] print(col) # 抽取多列数据 cols = df[['姓名', '性别', '年龄']] print(cols) # 抽取指定行列的数据 data = df.loc[0:3, ['姓名', '城市']] print(data) ``` 这样,我们就成功演示了如何创建Excel文件、导入数据、抽取一行、多行、一列、多列以及指定行列的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值