建立DataFrame数据:
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
'year': [2000, 2001, 2002, 2001, 2002, 2003],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
df = pd.DataFrame(data)
输出:
state year pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
5 Nevada 2003 3.2
1.DataFrame的数据类型
用dtypes方法,可以查看表中各列的数据类型
df.dtypes
输出:
state object
year int64
pop float64
dtype: object
2.查看所有列名
df.columns
输出:
Index(['state', 'year', 'pop'], dtype='object')
3.查看表中列的总数
df.shape[1] #列数
df.columns.size #列数
4.查看表中行的总数
df.shape[0] #行数
len(df) #行数
5.shape方法
shape方法查看表规模(行,列)
df.shape
输出:
(6, 3)
6.按照指定的列顺序重新排列
df.columns = ['year','state', 'pop' ]
输出:
year state pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
5 Nevada 2003 3.2
7.重命名列
df.rename(columns={ df.columns[2]: "new name" }, inplace=True)
输出:
year state new name
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
5 Nevada 2003 3.2
df = df.rename(columns={'col_1': 'col_a'})
输出:
col_a state new name
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
5 Nevada 2003 3.2
重命名所有列
df.columns = ['one','two','three']
输出:
one two three
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
5 Nevada 2003 3.2
8.查看行信息
df.index
输出:
RangeIndex(start=0, stop=6, step=1)
9.查看某一列的取值种类
展示该列的所有种类
df['state'].unique()
输出:
array(['Ohio', 'Nevada'], dtype=object)
计算所有种类数目
df['state'].nunique()
输出:
2
10.查看某列每个取值出现的次数
df['state'].value_counts()
输出:
Ohio 3
Nevada 3
Name: state, dtype: int64