0%

让数据分析中的 Python 代码更优雅


本文主要涉及到日常数据分享工作中常常会遇到的数据处理场景,并尝试用更优雅更简洁更易读的Python代码来实现。
每人使用代码的习惯和偏好各不同,是否使用这样的数据方式还需结合自身实际。


1. 根据某一列数据的特质,生成一列新数据

过去可能我常常用 loc 处理这样的情况,比如:

df['c'] = None
df.loc[df['a']>=0, 'c'] = df['b']

后面我发现可以用更简单的代码来进行,下面说三种:

# 方法 1,我自己比较喜欢的
df['c'] = df['b'].where(df['a']>=0, None)

# 方法 2,和方法 1 类似
df['c'] = np.where(df['a']>=0, df['b'], None)

# 方法 3
df['c'] = df.apply(lambda x: x.b if x.a.notnull() else None, axis=1)