dataframe按某一列排序(DataFrame求某一列的平均值)
创建 DataFrame 数据类型与 Sereis 不同,DataFrame 可以存在多列数据。一般情况下,DataFrame 也更加常用。
20. 通过 NumPy 数组创建 DataFrame
dates = pd.date_range('today', periods=6) # 定义时间序列作为 index
num_arr = np.random.randn(6, 4) # 传入 numpy 随机数组
columns = ['A', 'B', 'C', 'D'] # 将列表作为列名
df1 = pd.DataFrame(num_arr, index=dates, columns=columns)
df1
21. 通过字典数组创建 DataFrame
data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
df2 = pd.DataFrame(data, index=labels)
df2
22. 查看 DataFrame 的数据类型
df2.dtypesDataFrame 基本操作
23. 预览 DataFrame 的前 5 行数据
此方法对快速了解陌生数据集结构十分有用。
df2.head() # 默认为显示 5 行,可根据需要在括号中填入希望预览的行数
24. 查看 DataFrame 的后 3 行数据
df2.tail(3)25.查看 DataFrame 的索引
df2.index
26. 查看 DataFrame 的列名
df2.columns27. 查看 DataFrame 的数值
df2.values28. 查看 DataFrame 的统计数据
df2.describe()
29. DataFrame 转置操作
df2.T30. 对 DataFrame 进行按列排序
df2.sort_values(by='age') # 按 age 升序排列31. 对 DataFrame 数据切片
df2[1:3]
32. 对 DataFrame 通过标签查询(单列)
df2['age']df2.age # 等价于 df2['age']33. 对 DataFrame 通过标签查询(多列)
df2[['age', 'animal']] # 传入一个列名组成的列表
34. 对 DataFrame 通过位置查询
df2.iloc[1:3] # 查询 2,3 行35. DataFrame 副本拷贝
# 生成 DataFrame 副本,方便数据集被多个不同流程使用df3 = df2.copy()df336. 判断 DataFrame 元素是否为空
df3.isnull() # 如果为空则返回为 True
37. 添加列数据
num = pd.Series([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], index=df3.index)df3['No.'] = num # 添加以 'No.' 为列名的新数据列df338. 根据 DataFrame 的下标值进行更改。
# 修改第 2 行与第 2 列对应的值 3.0 → 2.0
df3.iat[1, 1] = 2 # 索引序号从 0 开始,这里为 1, 1
df3
39. 根据 DataFrame 的标签对数据进行修改
df3.loc['f', 'age'] = 1.5
df3
40. DataFrame 求平均值操作
df3.mean()41. 对 DataFrame 中任意列做求和操作
df3['visits'].sum()