使用列扩展数据框,仅使用正数

Extending a data frame with a column, only using positive numbers

我正在尝试计算加载到数据框中的外部文件中一列的平均值。我只想计算“DEPARTURE DELAY”列中正数的平均值。为此,我考虑使用仅使用正数的列扩展数据框,所有负数都应替换为 0。这可能吗?如果没有还有其他方法吗?

设置:

df = pd.DataFrame(
 {
 "CARRIER": ['9E', '9E','9E', '9E', '9E'],
 "ORIGIN": ['ATL','ATL','ATL','ATL','ATL'],
 "DESTINATION": ['CSG', 'CSG','CSG','CSG','CSG'],
 "DEPARTURE_DELAY": [-2, -5, -5, -5, -5],
 "PLANNED_DURATION": [47,47,47, 47, 47],
 "ACTUAL_DURATION": [37, 32, 39, 37, 41],
 "DISTANCE": [83, 83, 83, 83, 83]
 }   

)

如您要求将所有小于 0 的值替换为 0,您可以使用

num = df._get_numeric_data() # since you have columns that are not numeric

num = df.select_dtypes("number")

num[num<0] = 0 # 将所有负数替换为 0

To get mean: `df.mean(numeric_only=True)`