Python Pandas - 为各个筛选单元格添加注释

Python Pandas - add comment for respective filtered cell

我在 excel 中有如下数据。

我是 python pandas 的新手,我知道一点,比如如何在列中导入 excel 和过滤 >,但我想知道如何在 [City] 列上执行 contains,例如 ("contains = TN").

如果是 "TN",则创建一个新列并在相应的单元格中创建一个 [Note](如下面的注释列)。

并按年龄过滤,如果 [Age] > 30 则在 [Note] 列添加备注。

请有人帮忙....

[Name]      【Age】        【City】             【Note】

Chandru,.     29,           chennai TN,         Contain TN

John,         43,           Mumbai MH,          age >30

George,       35,           Madurai TN,         Contain TN | age >30

Karthik.,     25,           Kolkata WB

考虑到您的 excel 电子表格名为 my_file.xlsx,以下代码使用 Pandas 和 Numpy 在数据集中创建注释列:

import pandas as pd
import numpy as np
df = pd.read_excel('my_file.xlsx')
df['Note'] = np.where((df.Age > 30) & df.City.str.contains('TN'), 'Contain TN | age >30',
             np.where((df.Age > 30) & ~df.City.str.contains('TN'), 'age >30',
             np.where(~(df.Age > 30) & df.City.str.contains('TN'), 'Contain TN', '')))

这会产生以下数据帧:

如果你想了解更多关于np.where()方法的信息,link官方文档包含的例子是: https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html