选取 多列 内容 为 指定内容 的行

选取 多列 内容 为 指定内容 的行

import pandas as pd

data= pd.read_excel('summary_table.xlsx')

1、把 所有 列‘客户类别’内容为 8.0 和 9.0 的改成 8 和 9:

for i in range(len(data)):
    if data['客户类别'][i] == 8.0:
        data['客户类别'][i]  = int(data['客户类别'][i])
    elif data['客户类别'][i] == 9.0:
        data['客户类别'][i] = 9  

2、把 所有‘结售类型’列 的内容后面有 \t 的 替换掉:

# 数据预处理,把 \t 的内容去掉
for num in range(len(data)):
    data['结售类型'][num] = data['结售类型'][num].replace("\t",'')

3、选取 某列 为指定内容 的所有行 数据:

选取所有 ‘客户类型’列 = 8.0 或者 = 9.0,且‘结售类型’=5 或 6 的数据。
# 选取等于某些值的行记录 用 == 
# data.loc[data['客户类别']==8.0]
data2 = data.loc[data['客户类别'].isin([8.0,9.0]) & data['结售类型'].isin(['5','6'])]

4、数据存储:

# 存储
data2.to_excel('new_data00.xlsx',index=False)

完整代码:

import pandas as pd

# 数据读取
data= pd.read_excel('summary_table.xlsx')

# 数据预处理,把 \t 的内容去掉
for num in range(len(data)):
    data['结售类型'][num] = data['结售类型'][num].replace("\t",'')
    
    
# 选取等于某些值的行记录 用 == 
# data.loc[data['客户类别']==8.0]
data2 = data.loc[data['客户类别'].isin([8.0,9.0]) & data['结售类型'].isin(['5','6'])]

# 存储
data2.to_excel('new_data00.xlsx',index=False)

Pandas 自定义表头方法:

data_headers = ['name','start_time','end_time','company','doctor','act','doctor','type_','pf','area']
data3 = pd.DataFrame(items,index=Fasle,columns=data_headers) # 没说不可以有头信息
data3.head()