2.9 shape ---- 返回 DataFrame 对象的维度
l = [ ['zs', 12, 'm'], ['ls', 23, 'm'], ['ww', 22, 'm'] ] df1 = pd.DataFrame( l, columns=['name', 'age', 'gender'], index=['a', 'b', 'c'] ) print(df1) print() print(df1.shape)
2.10 T ---- 返回 DataFrame 对象的转置
l = [ pd.Series([1,2,3]), pd.Series([4,5,6]), pd.Series([7,8,9]) ] df = pd.DataFrame(l) print(df) print() print(df.T)
3. DataFrame 的方法
3.1 head() ---- 返回 DataFrame 对象的前 x 行
默认前五行
l = [ ['zs', 12, 'm'], ['ls', 23, 'm'], ['ww', 22, 'm'] ] df1 = pd.DataFrame( l, columns=['name', 'age', 'gender'], index=['a', 'b', 'c'] ) print(df1) print() print(df1.head(1))
3.2 tail() ---- 返回 DataFrame 对象的后 x 行
默认后五行
l = [ ['zs', 12, 'm'], ['ls', 23, 'm'], ['ww', 22, 'm'] ] df1 = pd.DataFrame( l, columns=['name', 'age', 'gender'], index=['a', 'b', 'c'] ) print(df1) print() print(df1.tail(1))
3.3 mean() ---- 求算术平均数
# 生成一个 6 行 3 列的数组 data = np.floor(np.random.normal(85, 3, (6,3))) df = pd.DataFrame(data) print(df) print() # 默认计算每列的算数平均数 print(df.mean()) print() # axis 可以指定计算的方向,默认 axis=0 计算每列的算数平均数 print(df.mean(axis=0)) print() # 计算每行的算数平均数 print(df.mean(axis=1)) print()
3.4 min() max() ---- 求最值
# 生成一个 6 行 3 列的数组 data = np.floor(np.random.normal(85, 3, (6,3))) df = pd.DataFrame(data) print(df) print() # 默认计算每列的最值 print(df.max()) print(df.min()) print() # axis 可以指定计算的方向,默认 axis=0 计算每列的最值 print(df.max(axis=0)) print(df.min(axis=0)) print() # 计算每行的算数平均数 print(df.max(axis=1)) print(df.min(axis=1)) print()
3.5 idxmax() idxmin() ---- 获取最值索引
data = np.floor(np.random.normal(85, 3, (3,2))) df = pd.DataFrame(data, index=['a', 'b', 'c'], columns=['math', 'chinese']) print(df) print() # 列 print(df.max(), df.idxmax()) print() print(df.min(), df.idxmin()) print() # 行 print(df.max(axis=1), df.idxmax(axis=1)) print() print(df.min(axis=1), df.idxmin(axis=1))
3.6 median() ---- 求中位数
data = np.floor(np.random.normal(85, 3, (3,2))) df = pd.DataFrame(data, index=['a', 'b', 'c'], columns=['math', 'chinese']) print(df) print() # 列 print(df.median()) print(df.median(axis=0)) print() # 行 print(df.median(axis=1))
3.7 value_counts() ---- 求频数
以行为统计单元
data = np.floor(np.random.normal(85, 3, (3,2))) df = pd.DataFrame(data, index=['a', 'b', 'c'], columns=['math', 'chinese']) print(df) print() print(df.value_counts())
3.8 mode() ---- 求众数
data = np.floor(np.random.normal(85, 3, (3,2))) df = pd.DataFrame(data, index=['a', 'b', 'c'], columns=['math', 'chinese']) print(df) print() print(df.mode()) print() print(df.mode(axis=1))
3.9 quantile() ---- 求四分位数
四分位数:把数值从小到大排列并分成四等分,处于三个分割点位置的数值就是四分位数。
- 需要传入一个列表,列表中的元素为要获取的数的对应位置
data = np.floor(np.random.normal(85, 3, (4,3))) df = pd.DataFrame(data) print(df) print() print(df.quantile([.25, .50, .75, 1])) print(df.quantile([.25, .50, .75, 1], axis=0)) print(df.quantile([.25, .50, .75, 1], axis=1))