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
我在 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