python serise处理 60句 +字符串处理 40句

​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的语句

自然语言处理先入门再放弃(上)

屁屁学习笔记整理系列--深度学习入门基础

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值