数据预处理—Python常用函数归纳

本文介绍Python中字符串的join方法及Pandas库中concat、DataFrame的ix、iloc、loc索引方法的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

join方法

功能

join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法

str.join(sequence)

用法

str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );#输出:a-b-c

pd.concat方法

功能

将多个Dataframe进行合并

语法

pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
keys=None, levels=None, names=None, verify_integrity=False,
copy=True)

objs:待合并的对象集合,可以是Serice,Dataframe
axis:{0,1,…}合并方向,默认为0,表示纵向,1表示横向
join:{inner,outer}:合并方式,默认为outer,表示并集,inner表示交集
join_axes:按哪些对象的索引保存
ignore_index:{False,True},是否忽略原index,默认为不忽略
keys:为原始dataframe添加一个键,默认为无

用法

pandas contact 之后,一定要记得用reset_index去处理index,不然容易出现莫名的逻辑错误

Dataframe.ix & iloc &loc方法

功能

loc——通过行标签索引行数据
iloc——通过行号索引行数据
ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合)

用法

import pandas as pd
data=[[1,2,3],[4,5,6]]
index=['a','b']#行号
columns=['c','d','e']#列号
df=pd.DataFrame(data,index=index,columns=columns)#生成一个数据框

#print df.loc['a']
'''
c    1
d    2
e    3
'''
import pandas as pd
data=[[1,2,3],[4,5,6]]
index=['a','b']#行号
columns=['c','d','e']#列号
df=pd.DataFrame(data,index=index,columns=columns)#生成一个数据框

print df.ix[0]
'''
c    1
d    2
e    3
'''
print df.ix['a']
'''
c    1
d    2
e    3
'''

分别使用loc、iloc、ix 索引第一列的数据:

import pandas as pd
data=[[1,2,3],[4,5,6]]
index=['a','b']#行号
columns=['c','d','e']#列号
df=pd.DataFrame(data,index=index,columns=columns)#生成一个数据框

print df.loc[:,['c']]

print df.iloc[:,[0]]

print df.ix[:,['c']]

print df.ix[:,[0]]
#结果都为
'''
   c
a  1
b  4
'''
数据预处理数据分析和机器学习中非常重要的一步,它可以帮助我们准确地分析数据,提高模型的预测能力。下面是一些常用数据预处理方法的 Python 代码实现: 1. 数据清洗 数据清洗是指删除或修复无效、不完整、重复或错误的数据。常见的数据清洗技术包括: - 删除重复数据: ```python df.drop_duplicates(inplace=True) ``` - 查找缺失值: ```python df.isnull().sum() ``` - 删除缺失值: ```python df.dropna(inplace=True) ``` - 填充缺失值: ```python df.fillna(value, inplace=True) ``` 2. 特征选择 特征选择是指选择最有意义的数据特征,以提高模型的准确性。常见的特征选择技术包括: - 方差选择法: ```python from sklearn.feature_selection import VarianceThreshold selector = VarianceThreshold() X_new = selector.fit_transform(X) ``` - 相关系数法: ```python from scipy.stats import pearsonr def select_feature(X, y, threshold): scores, pvalues = [], [] for i in range(X.shape[1]): score, pvalue = pearsonr(X[:, i], y) scores.append(score) pvalues.append(pvalue) scores = np.abs(scores) idx = np.argsort(scores)[::-1] return X[:, idx][:, scores[idx] > threshold] ``` 3. 数据归一化 数据归一化是指将数据进行缩放,以便于不同的特征值之间进行比较。常见的数据归一化技术包括: - 最小-最大归一化: ```python from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() X_scaled = scaler.fit_transform(X) ``` - Z-Score标准化: ```python from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X_scaled = scaler.fit_transform(X) ``` 4. 数据转换 数据转换是指将数据进行转换,以便于进行分析和建模。常见的数据转换技术包括: - One-Hot编码: ```python from sklearn.preprocessing import OneHotEncoder encoder = OneHotEncoder() X_encoded = encoder.fit_transform(X) ``` - 文本转向量: ```python from sklearn.feature_extraction.text import CountVectorizer vectorizer = CountVectorizer() X_vectorized = vectorizer.fit_transform(X) ``` 以上是常见的数据预处理方法,当然还有很多其他的方法,可以根据具体需求进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值