cms网站怎么制作网上推广兼职
🔹 DA5:检查数据是否有缺失值
📌 题目描述
检查 Nowcoder.csv 文件中每一列是否存在空值(缺失数据),输出每列是否有空值。
✅ 正确代码
import pandas as pd# 读取数据
n = pd.read_csv('Nowcoder.csv', sep=',', dtype=object)# 输出每列是否有空值(True 表示有空值)
print(n.isnull().any())💡 扩展知识
| 方法 | 说明 |
|---|---|
df.isnull() | 返回布尔 DataFrame,True 表示该位置为空 |
df.notnull() | 与 isnull() 相反 |
df.isnull().any() | 每列是否有至少一个空值(返回 Series) |
df.isnull().sum() | 每列空值数量统计(推荐用于分析) |
df.dropna() | 删除含空值的行或列 |
df.fillna(value) | 填充空值 |
✅ 建议:实际分析中用
df.isnull().sum()更直观。
🔹 DA6:筛选使用 Python 的用户
📌 题目描述
筛选出常用语言为 Python 的用户,并输出他们的全部信息。
✅ 正确代码
import pandas as pd# 读取数据(推荐加 dtype=object 防止类型问题)
n = pd.read_csv('Nowcoder.csv', sep=',', dtype=object)# 筛选 Language 为 'Python' 的行
print(n[n['Language'] == 'Python'])💡 扩展知识
- 布尔索引:
df[condition]是 Pandas 最常用的筛选方式。 - 字符串匹配注意:
- 大小写敏感:
'python' != 'Python' - 空格问题:
'Python ' != 'Python'
- 大小写敏感:
- 推荐增强写法:
n['Language'] = n['Language'].str.strip() # 去空格 result = n[n['Language'] == 'Python']
🔹 DA7:查看 Python 用户的成就值
📌 题目描述
输出使用 Python 的用户的“成就值”(Achievement_value)这一列。
✅ 正确代码
import pandas as pd# 读取数据(注意:如果要做数值计算,不要用 dtype=object)
n = pd.read_csv('Nowcoder.csv', sep=',')# 筛选 Python 用户,并取成就值列
print(n[n['Language'] == 'Python']['Achievement_value'])💡 扩展知识
| 写法 | 说明 |
|---|---|
df['col1']['col2'] | 链式索引,不推荐,可能返回 SettingWithCopyWarning |
df.loc[condition, 'col'] | 推荐写法,更安全 |
df.query("Language == 'Python'")['Achievement_value'] | 使用 query,可读性强 |
✅ 推荐写法:
print(n.loc[n['Language'] == 'Python', 'Achievement_value'])⚠️ 如果你用了
dtype=object,Achievement_value是字符串,不能做数值计算。需要时用.astype(int)转换。
🔹 DA8:查看最后 5 行用户的部分数据
📌 题目描述
输出文件最后 5 行用户的 Nowcoder_ID、Level、Achievement_value、Language。
✅ 正确代码
import pandas as pd# 读取数据
data = pd.read_csv("Nowcoder.csv")# 使用 iloc 取最后 5 行,并选择指定列
print(data.iloc[-5:][['Nowcoder_ID', 'Level', 'Achievement_value', 'Language']])💡 扩展知识
| 索引方式 | 说明 |
|---|---|
iloc | 按位置索引,支持负数(-1 表示最后一行) |
loc | 按标签索引(如行名、列名) |
data.iloc[-5:] | 最后 5 行(从倒数第 5 行到末尾) |
data.tail(5) | 与 iloc[-5:] 等价,更简洁 |
✅ 等价写法:
print(data.tail(5)[['Nowcoder_ID', 'Level', 'Achievement_value', 'Language']])✅
tail(n)比iloc[-n:]更直观,推荐用于查看末尾数据。
🎯 总结:Pandas 核心操作速查表
| 操作 | 方法 |
|---|---|
| 读取 CSV | pd.read_csv('file.csv') |
| 查看空值 | df.isnull().any() 或 df.isnull().sum() |
| 筛选行 | df[condition] 或 df.query("cond") |
| 筛选列 | df[['col1', 'col2']] |
| 复合条件 | (A) & (B)(注意括号) |
| 字符串处理 | .str.strip()、.str.lower() |
| 位置索引 | iloc[i:j](行)、iloc[:, k:l](列) |
| 查看末尾 | df.tail(n) |
| 安全索引 | df.loc[condition, ['col1', 'col2']] |
✅ 学习建议
- 先看数据:用
print(df.head())和print(df.dtypes)了解数据结构。 - 处理脏数据:去空格、统一大小写、处理缺失值。
- 类型一致:数值列不要用
dtype=object,除非你只做筛选。 - 避免链式索引:用
loc替代df[cond]['col']。 - 多用
query和isin:代码更清晰。
