【发布时间】:2018-07-21 00:15:29
【问题描述】:
import numpy as np
import pandas as pd
exam_data =pd.DataFrame( {'name': ['Anastasia', 'Dima', 'Katherine',
'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no',
'yes']})
exam_data.set_index([['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'],
'name'])
r1 = exam_data.replace('yes', 'true')
r2 = exam_data.replace('no', 'false')
r1
我希望结果是
attempts name qualify score
a 1 Anastasia true 12.5
b 3 Dima false 9.0
c 2 Katherine true 16.5
d 3 James false NaN
e 2 Emily false 9.0
f 3 Michael true 20.0
g 1 Matthew true 14.5
h 1 Laura false NaN
i 2 Kevin false 8.0
j 1 Jonas true 19.0
【问题讨论】:
-
jezrael 下面的回答看起来不错;除非你真的想要
'true'/'false'字符串而不是实际的True/False布尔值......在这种情况下exam_data['qualify'] = exam_data['qualify'].replace({'yes':'true', 'no':'false'})
标签: python pandas replace merge concatenation