一、dataframe.columns[0]
在pandas的DataFrame中,columns是一个Series,用来表示每列的名称。columns[0]表示第0列的列名。如果我们需要用到某个DataFrame的第0列,可以直接使用dataframe[dataframe.columns[0]]。
import pandas as pd df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]}) print(df[df.columns[0]])
输出结果如下:
0 1 1 2 2 3 Name: A, dtype: int64
二、dataframe.columns转list
dataframe.columns是一个Series,用来表示每列的名称,我们可以直接将其转成一个list。一般情况下我们会用到columns来选取某列或者多列,然后进行其他的操作,比如数据处理以及可视化。因此将columns转成list非常方便。
import pandas as pd df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]}) print(list(df.columns))
输出结果如下:
['A', 'B', 'C']
三、dataframe.columns
dataframe.columns是一个Series,通常用来表示DataFrame的每列的名称。在操作DataFrame的时候,我们可以通过想dataframe.columns传入一列的名称来选取这一列。当columns中存在中文或特殊字符时,可能会出现乱码的情况。这时候可以对columns进行编码转换:
import pandas as pd df = pd.DataFrame({'姓名':['张三','李四','王五'], '年龄':[20,30,40], '分数':[90,80,70]}) df.columns = [col.encode('utf8') for col in df.columns] print(df)
输出结果如下:
ç’å…· ñÔÅ¥ ϣȮ 0 ó»¾Ç 20 90 1 ëœ±Ï 30 80 2 ĈÐÈ¥ 40 70
四、dataframe.columns乱码
当DataFrame中有中文或特殊字符时,columns可能会出现乱码。这时候我们需要进行编码转换。具体方式是使用str.decode将utf8编码转成unicode编码。
import pandas as pd df = pd.DataFrame({'姓名':['张三','李四','王五'], '年龄':[20,30,40], '分数':[90,80,70]}) df.columns = [col.encode('utf8') for col in df.columns] df.columns = [col.decode('utf8') for col in df.columns] print(df)
输出结果如下:
姓名 年龄 分数 0 张三 20 90 1 李四 30 80 2 王五 40 70
五、dataframe.columns之rename()
我们也可以使用rename方法来对columns进行修改,方法有几种,这里介绍一种简单易懂的方法。rename()的参数columns是一个字典,使用这个字典来映射现有columns的名称以及新的名称。
import pandas as pd df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]}) df.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace=True) print(df)
输出结果如下:
a b c 0 1 4 7 1 2 5 8 2 3 6 9
六、dataframe.columns之astype()
有的时候,我们需要将某一列的数据类型进行转换。这时候,可以使用astype(),比如将某一列的数据类型从int转成float,将某一列的数据类型从object转成datetime。
import pandas as pd df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':['2020-01-01','2020-01-02','2020-01-03']}) df['A'] = df['A'].astype(float) df['C'] = pd.to_datetime(df['C'], format='%Y-%m-%d') print(df.dtypes)
输出结果如下:
A float64 B int64 C datetime64[ns] dtype: object
七、dataframe.columns之unique()
unique()方法可以帮我们找到某个columns所有不同的值。这个方法经常用在数据分析中需要对某个列进行分类汇总的情况下。比如,需要统计某个含有分类标签的列中有哪些不同的分类。就可以使用unique()方法。
import pandas as pd df = pd.DataFrame({'地区':['北京','上海','广州','北京','深圳','上海']}) print(df['地区'].unique())
输出结果如下:
['北京' '上海' '广州' '深圳']
八、dataframe.columns之value_counts()
value_counts()方法可以帮助我们统计某个列中每个值出现的次数,通常用来对某一列的数据进行分组及统计分析。
import pandas as pd df = pd.DataFrame({'地区':['北京','上海','广州','北京','深圳','上海']}) print(df['地区'].value_counts())
输出结果如下:
上海 2 北京 2 广州 1 深圳 1 Name: 地区, dtype: int64
九、dataframe.columns之nunique()
nunique()方法可以返回某个columns中有多少个不同的值。可以通过len(df[column].unique())来验证结果。
import pandas as pd df = pd.DataFrame({'地区':['北京','上海','广州','北京','深圳','上海']}) print(df['地区'].nunique())
输出结果如下:
4