You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用字典从CSV转Pandas数据中获取指定键的随机行值

从Pandas DataFrame中获取随机记录(无需依赖索引)

针对你的需求,这里提供几种简洁的实现方式,覆盖不同的数据结构使用场景:

1. 直接用Pandas原生随机抽样(推荐)

Pandas自带的sample()方法可以直接从DataFrame中随机选取行,无需转换数据结构,操作最直观:

import pandas as pd
import random

# 读取CSV文件
data = pd.read_csv("french_words.csv")

# 随机抽取1行,iloc[0]将结果转为可直接访问的Series对象
random_row = data.sample(n=1).iloc[0]

# 展示完整随机行信息
print("完整随机记录:")
print(f"法语:{random_row['French']},英语释义:{random_row['English']}")

# 单独获取指定字段的随机值
print(f"随机法语单词:{random_row['French']}")
print(f"随机英语释义:{random_row['English']}")

2. 基于你已实现的字典列表结构

你已经通过to_dict(orient="records")将DataFrame转为字典列表,只需补充字段访问逻辑即可:

import pandas as pd
import random

data = pd.read_csv("french_words.csv")
to_learn = data.to_dict(orient="records")  # 每行转为一个字典,存储为列表

# 随机选取一个字典(即一行记录)
current_card = random.choice(to_learn)

# 获取指定键的随机值
print(f"随机法语单词:{current_card['French']}")
print(f"随机英语释义:{current_card['English']}")

# 直接打印完整随机行
print("完整随机记录:", current_card)

3. 基于你尝试的{法语:英语}映射字典

如果需要使用这种键值对字典,可通过随机选取键来获取对应的完整记录:

import pandas as pd
import random

data = pd.read_csv("french_words.csv")
# 构建法语到英语的映射字典
words_data_dict = {row.French: row.English for (index, row) in data.iterrows()}

# 随机选取一个法语单词,再获取对应释义
random_french_word = random.choice(list(words_data_dict.keys()))
corresponding_english = words_data_dict[random_french_word]

print(f"随机法语单词:{random_french_word}")
print(f"对应英语释义:{corresponding_english}")

内容的提问来源于stack exchange,提问作者Anurag Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:31:12