1、解释:在Python 中 可以使用 pandas.DataFrame.loc和 numpy.where来实现
2、示例:
假设我们有一个名为data_cloud的DataFrame,其中有一列名为cloud,我们想要筛选出cloud列中值为在20~80范围的所有行。可以使用以下代码实现:
import pandas as pd
# 创建一个示例DataFrame,cloud表示云量
data_cloud = {'A': [1, 2, 3, 4, 5],
'B': ['district1', 'district2', 'district3', 'district4', 'district5'],
'cloud': [20, 10, 40, 60,90]}
data_cloud_wea = pd.DataFrame(data_cloud)
# 使用numpy.where进行条件筛选,判断是否是多云天气
data_cloud_wea.loc[:, 'weather'] = np.where((data_cloud_wea.loc[:, "cloud"] > 25) & (data_cloud_wea.loc[:, "cloud"] < 70), '多云', '非多云')
print(data_cloud_wea)
3、数据处理前后对比
筛选前的data_cloud_wea:
筛选后的data_cloud_wea: