Pandas中DataFrame的属性、方法、常用操作以及使用示例(三)

简介: Pandas中DataFrame的属性、方法、常用操作以及使用示例(三)

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))


相关文章
|
1月前
|
数据采集 机器学习/深度学习 Python
【机器学习】数据清洗——基于Pandas库的方法删除重复点
【机器学习】数据清洗——基于Pandas库的方法删除重复点
52 1
|
2月前
|
存储 数据采集 数据处理
深入探索Pandas的DataFrame:基本用法与案例研究
深入探索Pandas的DataFrame:基本用法与案例研究
|
1月前
|
BI 数据处理 索引
Pandas基本操作:Series和DataFrame(Python)
Pandas基本操作:Series和DataFrame(Python)
107 1
|
1月前
|
人工智能 安全 数据挖掘
Pandas AI:Pandas与人工智能的结合,让你不再拘泥于如何使用pandas方法及处理语法
Pandas AI:Pandas与人工智能的结合,让你不再拘泥于如何使用pandas方法及处理语法
|
12天前
|
存储 数据挖掘 数据处理
Pandas数据结构详解:Series与DataFrame的奥秘
【4月更文挑战第16天】Pandas的Series和DataFrame是数据处理的核心工具。Series是一维标签化数组,支持各种数据类型,可通过索引便捷访问。DataFrame是二维表格型数据结构,适合存储和操作表格数据。两者提供丰富的统计方法和操作,如筛选、排序、分组聚合。它们之间可相互转换和交互,助力高效的数据分析。理解和掌握Series和DataFrame对于数据科学至关重要。
|
1月前
|
存储 数据可视化 数据挖掘
Pandas 28种常用方法使用总结(下)
Pandas 28种常用方法使用总结
|
1月前
|
数据挖掘 Serverless 数据处理
Pandas 28种常用方法使用总结(上)
Pandas 28种常用方法使用总结
|
2月前
|
JSON 数据挖掘 数据处理
在Python如何将 JSON 转换为 Pandas DataFrame?
在Python如何将 JSON 转换为 Pandas DataFrame?
31 1
|
5天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
20 0
|
6天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
18 2