我在c(2, 4, 7, 5)[1:3]
#[1] 2 4 7
中有数据,如下所示。
我是python excel
的新手,我有点像如何导入pandas
和过滤excel
列中的内容,但是我想知道如何做{{1} } >
列上的}(“包含= TN”)。
如果它是“ TN”,则创建一个新列,并在相应的单元格中创建一个contains
(如下面的注释列)。
然后过滤年龄,如果[City]
,然后在[Note]
列上添加注释。
请有人帮忙。...
[Age] > 30
答案 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', '')))
这将产生以下数据帧:
如果您想进一步了解np.where()方法,则包含示例的官方文档链接为: https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html