在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  網(wǎng)絡(luò)安全/ pyspark如何修改Dataframe中一列的值

pyspark如何修改Dataframe中一列的值

數(shù)據(jù)值是這樣的

Survived age
0 22.0
1 38.0
1 26.0
1 35.0
0 35.0
0 null
0 54.0
0 2.0
1 27.0
1 14.0
1 4.0
1 58.0
0 20.0
0 39.0
0 14.0
1 55.0
0 2.0
1 null
0 31.0
1 null
age_interval = [(lower, upper) for lower, upper in zip(range(0, 96, 5), range(5, 101, 5))]
def age_partition(age):
    """ 將年齡分類 """
    for lower, upper in age_interval:
        if age is None:
            return "None"
        elif lower <= age <= upper:
            return f"({lower}, {upper})"

我想對age一列進行修改,比如把22.0改為(20, 30),把38改成(30, 40)
上面的代碼是對age值進行修改的函數(shù)

我應(yīng)該如何對age列進行修改呢?

回答
編輯回答
你的瞳
import pandas as pd
df = pd.read_csv('xxx.csv', header=0, encoding='utf-8')

age_interval = [(lower, upper) for lower, upper in zip(range(0, 96, 5), range(5, 101, 5))]
def age_partition(age):
    """ 將年齡分類 """
    for lower, upper in age_interval:
        if age is None:
            return "None"
        elif lower <= age <= upper:
            return f"({lower}, {upper})"

df['new_col'] = df.age.apply(age_partition)
2018年2月15日 23:22