df:选择列

按列名选择列:

df = pd.DataFrame({'id': [0, 1],
                   'age': [20, 26],
                   'disease': ["T2DM", "HUA"]})

df
# 输出:
#    id  age disease
# 0   0   20    T2DM
# 1   1   26     HUA

"""按列名选择单列"""
df['age'] # 返回Series
df.loc[:, 'age'] # 返回Series

# 两种方法的输出一样:
# 0    20
# 1    26
# Name: age, dtype: int64

"""按列名选择多列"""
df[['age', 'disease']] # 返回df
df.loc[:, ['age', 'disease']] # 返回df

# 两种方法的输出一样:
#    age disease
# 0   20    T2DM
# 1   26     HUA

选择列名含特定字符串的列:

df = pd.DataFrame({'id': [0, 1],
                   '2020_age': [20, 26],
                   '2021_age': [21, 27],
                   '2020_weight': [50, 60], 
                   '2021_weight': [55, 65]})

df
# 输出:
#    id  2020_age  2021_age  2020_weight  2021_weight
# 0   0        20        21           50           55
# 1   1        26        27           60           65

"""选择列名含特定字符串的列"""
df.filter(regex='2020')
# 输出:
#    2020_age  2020_weight
# 0        20           50
# 1        26           60

df.filter(regex='weight')
# 输出:
#    2020_weight  2021_weight
# 0           50           55
# 1           60           65

选择特定数据类型的列:

df = pd.DataFrame({'id': [0, 1],
                   'age': [20, 26],
                   'disease': ["T2DM", "HUA"], 
                   'UA': [360.1, 420.8],
                   'smoke': [False, True]})

df
# 输出:
#    id  age disease     UA  smoke
# 0   0   20    T2DM  360.1  False
# 1   1   26     HUA  420.8   True

"""选择数据类型是int的列"""
df.select_dtypes(include=['int'])
# 输出:
#    id  age
# 0   0   20
# 1   1   26

"""选择数据类型是float的列"""
df.select_dtypes(include=['float'])
# 输出:
#       UA
# 0  360.1
# 1  420.8

"""选择数据类型是数值(int和float)的列"""
df.select_dtypes(include=['int', 'float'])
# 输出:
#    id  age     UA
# 0   0   20  360.1
# 1   1   26  420.8

"""选择数据类型是str的列"""
df.select_dtypes(include=['object'])
# 输出:
#   disease
# 0    T2DM
# 1     HUA

"""选择数据类型是bool的列"""
df.select_dtypes(include=['bool'])
# 输出:
#    smoke
# 0  False
# 1   True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值