pandas清洗数据实用代码

github博客传送门
博客园传送门

先创建一个可操作的DataFrame -> pandas的一种数据结构
dic = {'name': {'a': "abc", 'b': "boc", 'c': "ccb", 'd': "icbc", 'e': "boc"},
        'data': {'a': "农业银行", 'b': "中国银行", 'c': "建设银行", 'd': "工商银行", 'e': "中国银行"},
        'one': {'a': 1, 'b': 0, 'c': 0, 'd': 0, 'e': 0},
        'two': {'a': 0, 'b': 1, 'c': 0, 'd': 0, 'e': 1},
        'three': {'a': 0, 'b': 0, 'c': 1, 'd': 0, 'e': 0},
        'four': {'a': 0, 'b': 0, 'c': 0, 'd': 1, 'e': 0}}  # 创建了一个嵌套的字典

df = pd.DataFrame(dic)  # 将这个嵌套字典转换为DataFrame
print(df)                # 打印出转换后的DataFrame
输出是这样的:
namedataonetwothreefour
aabc农业银行1000
bboc中国银行0100
cccb建设银行0010
dicbc工商银行0001
eboc中国银行0100

一. 删除指定列

def drop_multiple_col(col_names_list, df):
    df.drop(col_names_list, axis=1, inplace=True)
    return df

print(drop_multiple_col('one', df))
删除指定列 'one’后输出:
namedatatwothreefour
aabc农业银行000
bboc中国银行100
cccb建设银行010
dicbc工商银行001
eboc中国银行100

二. 检查每列缺失数据的数量

def check_missing_data(df):
    return df.isnull().sum().sort_values(ascending=False)
print(check_missing_data(df))
检查结果如下
name0
data0
one0
two0
three0
four0

三. 增加一列label

def create_label(class_dict, df):
    df['label'] = temp['name'].apply(lambda x: class_dict[x])  # 增加一列label并填加值为 字典对应的值
    return df
class_dict = {'abc': 0, 'boc': 1, 'ccb': 2, 'icbc': 3}  # 转label字典
print(create_label(class_dict, df))
增加label后的输出:
然后再删除不需要的列,就只剩下数据和标签了
namedataonetwothreefourlabel
aabc农业银行10000
bboc中国银行01001
cccb建设银行00102
dicbc工商银行00013
eboc中国银行01001

四. 替换或删除列中字符串

替换 data 列中的 ‘银行’ 字符串为 空
def remove_col_str(df):
    df['data'].replace('银行', '', regex=True, inplace=True)
remove_col_str(df)
print(df)
替换后的输出为:
namedataonetwothreefour
aabc农业1000
bboc中国0100
cccb建设0010
dicbc工商0001
eboc中国0100
print_r('点个赞吧')var_dump('点个赞吧')NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值