serise处理 60句:
s.abs()
#取整
a.add(b, fill_value=0)
#两个serise对应位置的数值相加,假设一个缺失一个nan,那么fill_value=0生效,nan为0,若两个都为nan,则参数不生效
s.add_prefix('item_')
#给serise的索引加上前缀
df.add_prefix('col_')
#给数据集的变量名加上前缀
s.add_suffix('_item')
#删除serise索引加上后缀
df.add_suffix('_col')
#给数据集的变量名加上后缀
s.agg('min')
# 计算serise中的最小值
s.agg(['min', 'max'])
#计算serise中的最大值以及最小值
s1.append(s2)
#两个serise追加
s.apply(lambda x: x ** 2)
#serise每个值乘以2,apply的一种用法,并非seirse一定要以这种形式
s.apply(np.log)
#对s所有的值取log
s.idxmax()
#返回s中最大值的那个索引
s.idxmax(skipna=False)
#返回s中最大值的那个索引,如果s中有nan,返回nan
s.idxmin()
#返回s中最小值的那个索引
s.idxmin(skipna=False)
#返回s中最小值的那个索引,如果s中有nan,返回nan
s.astype('int64')
#把serise的格式转成int64的格式
ts.at_time('12:00')
# 保留serise中是12点的数据,前提是这个serise是一个标准时间格式的数据
s.between('Anna', 'Daniel')
#判断s中'Anna', 'Daniel',是的话返回true 错的话反馈false
ts.between_time('0:15', '0:45')
#判断s中'0:15', '0:45',是的话返回true 错的话反馈false
s.copy()
#复制serise
s.count()
#计算s中的个数,不包含nan
s1.cov(s2)
#计算s1和s2的协方差
s.describe()
#s的描述性统计
s.diff()
#纵向一阶差分,当前行减去上一行
s.diff(periods=2)
#纵向二阶差分
s.diff(periods=2).dropna()
#纵向二阶差分,丢弃空值
a.divide(b)
#divide函数在整数和浮点数除法中均只保留整数部分
s.dot(other)
#计算两个serise的乘积,就是两个向量相乘
s.drop_duplicates()
#s去重
s.drop_duplicates(keep='last')
#s去重保留最后一个重复
s.drop_duplicates(keep=False)
#丢弃serise中的重复项
s.dropna()
#删除空数据
s.explode()
#按照某一指定列进行展开,使得原来的每一行展开成一行或多行
s.ge(1)
#返回大于1的布尔向量
s.gt(1)
#返回小于1的布尔向量
ser.isna()
#判断serises是否为空,返回一个布尔向量
s.map({'cat': 'kitten', 'dog': 'puppy'})
# 将map中的映射关系传输到serise
s.where(s > 0)
#serise保留大于0
s.where(s > 1, 10)
#serise保留大于1 或者大于10的
s.max()
#求s中的最大值
s.mean()
#求s中的平均值
s.median
#求s的中位数
s.min()
#求s中的最小值
s.nlargest()
#保留s中最大的前五个数据,默认是保留5个
s.nlargest(3)
#保留s中最大的3个
ser.notna()
#判断ser选中的nan,若为nan则返回true,反之返回False
s.nsmallest()
#返回s中的最小的5个 ,默认是5个
s.nsmallest(3)
#返回s中最小的3个
s.nunique()
# 计算s中不重复的数值个数
df.pop('class')
# 删除df中的class这一列
s.quantile([.25, .5, .75])
#返回s中的分位数 0.25 0.5 0.75
s.replace({'a': None})
#把s中的"a"替换成none
s.round()
#将s中的数值四舍五入
s.sort_index(ascending=False)
#s按照索引倒序 默认正序
s.sort_values(ascending=True)
#s按照数值大小排序
s.sort_values(ascending=False)
#s按照数值大小倒序
df.to_clipboard(sep=',')
#将df数据输出到粘贴板,以逗号为分隔符
df.to_csv(index=False)
#把数据输出到csv格式文件中
s.to_dict()
#将s转成字典
df1.to_excel('output1.xlsx', engine='xlsxwriter')
# 将df1输出到excel文件中
s.to_frame()
# 将s转成数据框
df.to_json(orient='table')
# 将数据转成json格式
s.value_counts()
#统计s的每个值得个数
字符串处理 40句:
capitalize() -返回首字母大写且其余小写的字符串。
casefold() -返回小写字符串,通常用于无大小写匹配。这比lower()方法更具攻击性。
center() -使用可选的填充字符在指定宽度内将字符串居中。
count() -计算字符串中提供的子字符串的非重叠出现次数。
encode() -以字节对象的形式返回字符串的编码版本。
endwith() -如果字符串以提供的子字符串结尾,则返回ture。
expandtabs() -返回一个字符串,其中所有制表符都由提供的空格数替换。
find() -返回字符串中第一次出现的所提供子字符串的索引。如果找不到,则返回-1。
format() -格式化给定的字符串。
format_map() -格式化给定的字符串。
index() -返回字符串中第一次出现的所提供子字符串的索引。如果未找到,请引发ValueError。
isalnum() -如果字符串为非空且所有字符均为字母数字,则返回true。
isalpha() -如果字符串为非空且所有字符均为字母,则返回true。
isdecimal() -如果字符串为非空且所有字符均为十进制字符,则返回true。
isdigit() -如果字符串为非空且所有字符均为数字,则返回true。
isidentifier() -如果字符串是有效的标识符,则返回true。
islower() -如果字符串具有所有小写字符并且至少一个为大写字符,则返回true。
isnumeric() -如果字符串为非空且所有字符均为数字,则返回true。
isprintable() -如果字符串为空或所有字符均可打印,则返回true。
isspace() -如果字符串为非空且所有字符均为空格,则返回true。
istitle() -如果字符串为非空且标题大小写,则返回true。
isupper() -如果字符串具有所有大写字符并且至少一个为大写字符,则返回true。
join() -将提供的可迭代字符串串联在一起,它们之间的分隔符是提供此方法的字符串。
ljust() -使用可选的填充字符左对齐所提供宽度的字符串。
lower() -返回所有小写字符串的副本。
lstrip() - 返回一个字符串,其中删除了提供的前导字符。
maketrans() -返回转换表。
partition() -在第一次出现子字符串(分隔符)时对字符串进行分隔,并返回一个三元组,其一部分在分隔符之前,分隔符和分隔符之后。
replace() -用新的子字符串替换所有旧的子字符串。
rfind() -返回字符串中最后出现的所提供子字符串的索引。如果找不到,则返回-1。
rindex() -返回字符串中最后出现的所提供子字符串的索引。如果未找到,请引发ValueError。
rjust() -使用可选的填充字符对提供的宽度中的字符串进行右对齐。
rpartition() -在最后一次出现子字符串(分隔符)时对字符串进行分隔,并返回一个三元组,其一部分在分隔符之前,分隔符和分隔符之后。
rsplit() -返回由提供的subtring分隔的单词列表。如果指定了最大分割数,则从右侧完成。
rstrip() -返回一个字符串,其中删除了提供的结尾字符。
split() -返回由提供的subtring分隔的单词列表。如果指定了最大分割数,则从左侧开始。
splitlines() -返回字符串中的行列表。
startswith() -如果字符串以提供的子字符串开头,则返回true。
strip() -返回一个字符串,其中删除了提供的前导和尾随字符。
swapcase() -返回将小写字符转换为大写的字符串,反之亦然。
title() -返回标题(每个单词的首字母大写,其他字母均小写)的大小写字符串。
translate() -返回根据提供的映射映射的字符串的副本。
upper() -返回所有大写字符串的副本。
zfill() -返回一个数字字符串,在提供的宽度中用零填充。
#计算数据集中每个列的确实情况
def intitial_eda_checks(df): ''' Takes df Checks nulls ''' if df.isnull().sum().sum() > 0: mask_total = df.isnull().sum().sort_values(ascending=False) total = mask_total[mask_total > 0] mask_percent = df.isnull().mean().sort_values(ascending=False) percent = mask_percent[mask_percent > 0] missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent']) print(f'Total and Percentage of NaN:\n {missing_data}') else: print('No NaN found.') #删除超过缺失比例的列def view_columns_w_many_nans(df, missing_percent):
'''
Checks which columns have over specified percentage of missing values
Takes df, missing percentage
Returns columns as a list
'''
mask_percent = df.isnull().mean()
series = mask_percent[mask_percent > missing_percent]
columns = series.index.to_list()
print(columns)
return columns #根据给定的“categories”列表的顺序将categories映射到序号值def categorical_to_ordinal_transformer(categories):
'''
Returns a function that will map categories to ordinal values based on the
order of the list of `categories` given. Ex.
If categories is ['A', 'B', 'C'] then the transformer will map
'A' -> 0, 'B' -> 1, 'C' -> 2.
'''
return lambda categorical_value: categories.index(categorical_value)
#将分类列转换为数字列
def transform_categorical_to_numercial(df, categorical_numerical_mapping): ''' Transforms categorical columns to numerical columns Takes a df, a dictionary Returns df ''' transformers = {k: categorical_to_ordinal_transformer(v) for k, v in categorical_numerical_mapping.items()} new_df = df.copy() for col, transformer in transformers.items(): new_df[col] = new_df[col].map(transformer).astype('int64') return new_df以上代码来自于:
https://towardsdatascience.com/creating-python-functions-for-exploratory-data-analysis-and-data-cleaning-2c462961bd71
#把字符串里面的符号删掉
punctuations = '''!()-[]{};:'"\,<>./?@#$%^&*_~'''
my_str = "Hello!!!, he said ---and went."
# To take input from the user
# my_str = input("Enter a string: ")
# remove punctuation from the string
no_punct = ""
for char in my_str:
if char not in punctuations:
no_punct = no_punct + char
# display the unpunctuated string
print(no_punct)
往期推荐:
互联网金融大洗牌之后,你还好吗?
python 系列-100条处理dataframe的语句
自然语言处理先入门再放弃(上)
屁屁学习笔记整理系列--深度学习入门基础