python索引从0开始

新建数据为:

import pandas as pd
data = {'人名':    ['小明', '小红', '张三', '李四'],
        '出生年份': ['2000', '2001', '2002', '2003'],
        '高考分数':  ['630', '590', '600', '520'],
        '月薪':     ['5200', '3900', '4500', '3500']}
df = pd.DataFrame(data, columns=['人名', '出生年份', '高考分数', '月薪', '年终奖'],
                  index=['one', 'two', 'three', 'four'])
df['年终奖'] = ['9800', '9200', '9500', '9000']
print("行索引:{}".format(list(df.index)))
print("列索引:{}".format(list(df.columns)))
print(df.index[1:3])
print(df.columns[1])
print(df.columns[1:3])
print(df)

运行结果为:
在这里插入图片描述

1、按行读取(单行,多行连续,多行不连续)

python索引从0开始

print(df[1:3])                 # 按行取数据(第二行,三行)
print(df.iloc[1])              # 按行取行数据(第二行)
print(df.iloc[1, 3])           # 按坐标取(第二行第四列)
print(df.iloc[[1], [3]])       # 按坐标取(第二行第四列)
print(df.loc[df.index[1:3]])   # 按行索引取行,但没必要
print(df.iloc[1:3])            # 按行取连续数据(第二行至第三行)
print(df.iloc[[1, 3]])         # 按行取不连续数据(第二行,四行)
print(df.iloc[[1,2,3], [2,4]]) # 取部分行部分列数据(第二,三,四行,第三,五列)

程序运行结果为:
在这里插入图片描述

2、按列读取(单列,多列连续,多列不连续)

python索引从0开始

print(df['人名'])  # 按列名取列
print(df.人名)     # 按列名取列
print(df[['人名', '高考分数']])  # 按列名取不连续列数据
print(df[df.columns[1:4]])      # 按列索引取连续列数据
print(df.iloc[:, 1])            # 按位置取列
print(df.iloc[:, [1, 3]])       # 按位置取不连续列数据

程序运行结果为:
在这里插入图片描述

3、部分不连续行不连续列

python索引从0开始

df.iloc[[1, 3]]          # 不连续行(第二行第三行)
df.iloc[:, [1, 3]]       # 不连续列(第二列第四列)
df.iloc[[1,2,3], [2,4]]  # 不连续行不连续列(第二,三,四行 第三,五三列)

4、按位置(坐标),按字符(索引)

python索引从0开始

df.iloc[1, 3]          # 按坐标取(第二行第四列)
df.iloc[[1], [3]]      # 按坐标取(第二行第四列)
df.iloc[:, 1]          # 按位置取(任意行第二列)
df.iloc[:, [1, 3]]     # 按位置取不连续列数据(任意行第二列,第四列)
df['人名']
df.人名

5、函数有 df.iloc(), df.loc(), df.iat(), df.at(), df.ix()

python索引从0开始

5.1 df.iloc()

print(df.iloc[1])              # 按行取行数据(第二行)
print(df.iloc[1, 3])           # 按坐标取(第二行第四列)
print(df.iloc[[1], [3]])       # 按坐标取(第二行第四列)
print(df.loc[df.index[1:3]])   # 按行索引取行,但没必要
print(df.iloc[1:3])            # 按行取连续数据(第二行至第三行)
print(df.iloc[[1, 3]])         # 按行取不连续数据(第二行,四行)
print(df.iloc[[1,2,3], [2,4]]) # 取部分行部分列数据(第二,三,四行,第三,五列)

程序运行结果为:
在这里插入图片描述

5.2 df.loc()

print(df.loc['two'])
print(df.loc['two', '人名'])
print(df.loc['two':'three'])
print(df.loc[['one', 'three']])
print(df.loc[['one', 'three'], ['人名', '出生年份']])

程序运行的结果为:
在这里插入图片描述

5.3 df.iat(), df.at(), df.ix()(用的少)

print(df.ix[1:3])
print(df.ix[:, [1, 3]])
print(df.iat[1,3])
print(df.at['two', '人名'])

python索引从0开始

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐