Python中如何定位penguin_size数据集culmen_length_mm列最小值所在行?
解决方法
你的代码问题在于没有正确获取数据集里的实际列数据,你定义的data_set只是一个包含列名字符串的列表,不是culmen_length_mm列的数值数据,所以np.argmin返回0是因为列表只有一个元素,自然是“最小”的。
假设你是用pandas处理penguins数据集(通常这个数据集是通过seaborn加载的),正确的做法如下:
步骤1:加载数据集(如果还没加载)
import pandas as pd import seaborn as sns # 加载penguins数据集 df = sns.load_dataset("penguins")
步骤2:找到最小值对应的行
方法一:用idxmin()获取索引,再提取整行
# 获取culmen_length_mm列最小值的索引 min_idx = df['culmen_length_mm'].idxmin() # 获取该行的所有数据 min_row = df.loc[min_idx] print(min_row)
方法二:用布尔索引筛选出所有等于最小值的行
(如果有多个行的数值等于最小值,这个方法会返回所有符合条件的行)
# 计算列的最小值 min_val = df['culmen_length_mm'].min() # 筛选出所有culmen_length_mm等于最小值的行 min_rows = df[df['culmen_length_mm'] == min_val] print(min_rows)
如果你的数据集不是用seaborn加载的,而是自己读取的csv,只需要把加载部分换成对应的pd.read_csv("your_file.csv")即可。
内容的提问来源于stack exchange,提问作者eesc
相关产品推荐
相关产品推荐

