Pandas是一种Python常用的数据处理工具,它具有很强的数据选取和处理能力,本文将详细讲解Pandas数据选取的完整攻略。
一、pandas数据选取方法
Pandas提供了丰富的数据选取方法,常用的包括:
df[]
:基于列名或索引选取列或行;df.loc[]
:基于行和列名称选取数据;df.iloc[]
:通过整数位置选取数据;df.ix[]
:基于行和列名称或整数位置选取数据,已弃用;df.at[]
:通过标签选取单个值;df.iat[]
:通过整数位置选取单个值。
下面详细讲解这些方法的使用。
1.1 df[]
df[]
可以基于列名或索引选取列或行。例如:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Mike', 'John'],
'age': [18, 19, 20, 21],
'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取列name
print(df['name'])
# 选取前2行
print(df[:2])
输出结果:
0 Tom
1 Jerry
2 Mike
3 John
Name: name, dtype: object
name age gender
0 Tom 18 M
1 Jerry 19 M
1.2 df.loc[]
df.loc[]
基于行和列名称选取数据。例如:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Mike', 'John'],
'age': [18, 19, 20, 21],
'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])
# 选取行b和c,列name和age
print(df.loc[['b', 'c'], ['name', 'age']])
# 选取行b和c的所有列
print(df.loc[['b', 'c'], :])
输出结果:
name age
b Jerry 19
c Mike 20
name age gender
b Jerry 19 M
c Mike 20 M
1.3 df.iloc[]
df.iloc[]
通过整数位置选取数据。例如:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Mike', 'John'],
'age': [18, 19, 20, 21],
'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取第2行,第1、3列
print(df.iloc[1, [0, 2]])
# 选取第2-3行
print(df.iloc[1:3, :])
输出结果:
name Jerry
gender M
Name: 1, dtype: object
name age gender
1 Jerry 19 M
2 Mike 20 M
1.4 df.ix[]
df.ix[]
基于行和列名称或整数位置选取数据,已弃用,推荐使用df.loc[]和df.iloc[]替代。
1.5 df.at[]
df.at[]
通过标签选取单个值。例如:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Mike', 'John'],
'age': [18, 19, 20, 21],
'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data, index=['a', 'b', 'c', 'd'])
# 选取行a,列name的值
print(df.at['a', 'name'])
输出结果:
Tom
1.6 df.iat[]
df.iat[]
通过整数位置选取单个值。例如:
import pandas as pd
data = {
'name': ['Tom', 'Jerry', 'Mike', 'John'],
'age': [18, 19, 20, 21],
'gender': ['M', 'M', 'M', 'F']
}
df = pd.DataFrame(data)
# 选取第2行,第1列的值
print(df.iat[1, 0])
输出结果:
Jerry
二、总结
本文详细讲解了Pandas数据选取的完整攻略,包括常用的选取方法:df[]
、df.loc[]
、df.iloc[]
、df.at[]
和df.iat[]
。在实际使用中,根据不同的需要选取相应的数据即可,使处理数据更加高效便捷。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[] - Python技术站