题目
DataFrame players:
+-------------+--------+
| Column Name | Type |
+-------------+--------+
| player_id | int |
| name | object |
| age | int |
| position | object |
| ... | ... |
+-------------+--------+
编写一个解决方案,计算并显示 players
的 行数和列数。
将结果返回为一个数组:
[number of rows, number of columns]
返回结果格式如下示例所示。
示例 1:
输入:
+-----------+----------+-----+-------------+--------------------+
| player_id | name | age | position | team |
+-----------+----------+-----+-------------+--------------------+
| 846 | Mason | 21 | Forward | RealMadrid |
| 749 | Riley | 30 | Winger | Barcelona |
| 155 | Bob | 28 | Striker | ManchesterUnited |
| 583 | Isabella | 32 | Goalkeeper | Liverpool |
| 388 | Zachary | 24 | Midfielder | BayernMunich |
| 883 | Ava | 23 | Defender | Chelsea |
| 355 | Violet | 18 | Striker | Juventus |
| 247 | Thomas | 27 | Striker | ParisSaint-Germain |
| 761 | Jack | 33 | Midfielder | ManchesterCity |
| 642 | Charlie | 36 | Center-back | Arsenal |
+-----------+----------+-----+-------------+--------------------+
输出:
[10, 5]
解释:
这个 DataFrame 包含 10 行和 5 列。
解决方案
1、审题,理解题意
题目给定一个DataFrame表,要求返回 DataFrame表有多少行,多少列数据。要解这个题,先要理解 Pandas 库中的shape 属性,是以元组(行、列)的形式返回 DataFrame 或 Series 的维度。调用该属性时,返回一个元组 (number of rows, number of columns)
2、解题思路
导入需要的库:
import pandas as pd #我们首先需要导入 pandas 库,这是一个在 Python 语言中用于数据操作和分析的强大工具。
定义函数:
def getDataframeSize(players: pd.DataFrame) -> List: #该行定义了一个名为 getDataframeSize 的新函数,将 DataFrame players 作为输入参数,并返回一个包含 DataFrame players 中的行数和列数的列表。
使用 shape 属性,返回元组:
return [players.shape[0], players.shape[1]] #players.shape[0] 给出 DataFrame players 中的行数,players.shape[1] 给出 DataFrame players 中的列数。
返回的元组意思是,该DataFrame players表,一共有10行50列数据,每一行数据代表一个运动员,每一列数据描述运动员的属性。
3、代码实现
import pandas as pd
def getDataframeSize(players: pd.DataFrame) -> List:
return [players.shape[0], players.shape[1]]