![](/img/trans.png)
[英]How do I save a specific array value to a cell in Excel with Python?
[英]How do I replace the value in a cell that contains certain words in Python Panda like in Excel?
我有我的數據
年齡 | 性別 |
---|---|
2年) | 男性 |
3個月) | 男性 |
2天) | 女性 |
我想做到
年齡 | 性別 |
---|---|
2 | 男性 |
1年以下 | 男性 |
1年以下 | 女性 |
使用替換function。 在你的情況下:
df.Age.replace({
"2 Year(s)": "2",
"3 Month(s)": "Below 1 year",
...
},
inplace=True
)
想通了,我做到了,我從代碼編輯器中復制粘貼了實際代碼
#split Patient Age and append back to master list
alldata[['Age', 'Unit']] = alldata['Patient Age'].str.split(' ', expand=True)
#Separate into subdata of Years, Months, Days and Hours
dfunit = alldata.groupby(['Unit'])
dfyears = dfunit.get_group('Year(s)')
dfmonths = dfunit.get_group('Month(s)')
dfdays = dfunit.get_group('Day(s)')
dfhours = dfunit.get_group('Hour(s)')
#Replace value of Mpnths, Days and Hours with 0
dfmonths['Age'] = dfmonths['Age'].str.replace('\d', '0')
dfdays['Age'] = dfdays['Age'].str.replace('\d', '0')
dfhours['Age'] = dfhours['Age'].str.replace('\d', '0')
#Combine sublist back to master list
newdata = dfyears.append(dfmonths).append(dfdays).append(dfhours)
#Convert value in Age to int
newdata['Age'] = newdata['Age'].astype(int)
newdata['Age'].dtypes
#Separate Age into Age Group
bins = [0, 20, 30, 40, 50, 60, 70, 120]
labels = ['0-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70+']
newdata['Agerange'] = pd.cut(newdata['Age'], bins, labels = labels,include_lowest = True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.