Pandas Dataframe

239 阅读1分钟

10. 学习 + 练习

import pandas as pd
import numpy as np

# 选择行与列
df = pd.DataFrame(np.random.rand(12).reshape(3, 4) * 100, index=['one', 'two', 'three'], columns=['a', 'b', 'c', 'd'])
df2 = pd.DataFrame(np.random.rand(12).reshape(3, 4) * 100, index=[1, 2, 3], columns=['a', 'b', 'c', 'd'])

print(df)

print(df['a'])  # 选择列 默认选择列
# print(df['one'])  异常
data2 = df[['b', 'c']]
print(data2)

# 选择行
data3 = df.loc['one']
print(data3)
data4 = df.loc[['three', 'two']]
print(data4)

data4 = df[:3]
print(data4)

# 3. 标签索引切片  末端包含

data5 = df.loc['one':'three']
data6 = df2.loc[1:3]
print(data5)
print(data6)

# 4. 整数位置索引
df = pd.DataFrame(np.random.rand(16).reshape(4, 4) * 100, index=['one', 'two', 'three', 'four'],
                  columns=['a', 'b', 'c', 'd'])
print(df)
# 获取第一行
print(df.iloc[0])
# 获取最后一行
print(df.iloc[-1])

# 选多个  末端不包含
print(df.iloc[[0, 3]])
print(df.iloc[0:3])

# 布尔型索引
print(df)

b1 = df > 50
print(b1, type(b1))
b2 = df['a'] > 50
print(b2)
print('---')
print(df[b2])

# 多列判断
b3 = df[['a', 'b']] > 50
print(b3)
print(df[b3])

# 通过行的索引 判断布尔
b4 = df.loc[['one', 'three']] > 50
print(b4)
print(df[b4])

# 多重索引
print(df['a'].loc[['three', 'two']])

print(df[['b', 'c']].iloc[::2])

print(df[df < 50][['a', 'b']])