Python Pandas-为相应的已过滤单元格添加注释

时间:2019-02-18 17:24:42

标签: pandas filter contains

我在c(2, 4, 7, 5)[1:3] #[1] 2 4 7 中有数据,如下所示。

我是python excel的新手,我有点像如何导入pandas和过滤excel列中的内容,但是我想知道如何做{{1} } >列上的}(“包含= TN”)。

如果它是“ TN”,则创建一个新列,并在相应的单元格中创建一个contains(如下面的注释列)。

然后过滤年龄,如果[City],然后在[Note]列上添加注释。

请有人帮忙。...

[Age] > 30

1 个答案:

答案 0 :(得分:0)

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

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', '')))

这将产生以下数据帧:

enter image description here

如果您想进一步了解np.where()方法,则包含示例的官方文档链接为: https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html