import pandas as pd
df = pd.DataFrame(
{"text_id":[0,0,1,1],"question":['唐六典中说式占有哪三式?', "六壬著作有哪些?", '汉的意思是什么?', "利玛窦何时来华?"],"A":["雷公式,太一式,六壬式", "《壬归》校译释论", '汉子', "清朝"],"B":["太史,太师,太公", "《唐六典》", "银河", "明朝"],"answer":[1, 1, 2, 2]
})
text_id | question | A | B | answer | |
---|---|---|---|---|---|
0 | 0 | 唐六典中说式占有哪三式? | 雷公式,太一式,六壬式 | 太史,太师,太公 | 1 |
1 | 0 | 六壬著作有哪些? | 《壬归》校译释论 | 《唐六典》 | 1 |
2 | 1 | 汉的意思是什么? | 汉子 | 银河 | 2 |
3 | 1 | 利玛窦何时来华? | 清朝 | 明朝 | 2 |
# 根据text_id字段分组
group = df.groupby("text_id")
# 取组值为0的这一组
group.get_group(0)
text_id | question | A | B | answer | |
---|---|---|---|---|---|
0 | 0 | 唐六典中说式占有哪三式? | 雷公式,太一式,六壬式 | 太史,太师,太公 | 1 |
1 | 0 | 六壬著作有哪些? | 《壬归》校译释论 | 《唐六典》 | 1 |
group.groups
{0: Int64Index([0, 1], dtype='int64'), 1: Int64Index([2, 3], dtype='int64')}
group.size()
text_id
0 2
1 2
dtype: int64
# 2
len(group)
# n是分组字段的值
for n,g in group:print(n)
0
1
# 获得一份副本,不然下面的操作容易报警告
# 对该副本的操作不会影响原对象
df_c = df.copy()# 更改某个字段值的表示1
df_c['answer'] = df_c['answer'].replace({1:'A', 2:'B'})# 更改某个字段值的表示2
df_c['answer'] = df_c['answer'].map({1:'A', 2:'B'})
text_id | question | A | B | answer | |
---|---|---|---|---|---|
0 | 0 | 唐六典中说式占有哪三式? | 雷公式,太一式,六壬式 | 太史,太师,太公 | A |
1 | 0 | 六壬著作有哪些? | 《壬归》校译释论 | 《唐六典》 | A |
2 | 1 | 汉的意思是什么? | 汉子 | 银河 | B |
3 | 1 | 利玛窦何时来华? | 清朝 | 明朝 | B |
参考:------链接--------