采购实用python数据处理方法

正则表达式

匹配多位数字

re.findall(r'\d{n}', str)
# 返回 n 位数字

匹配小数

re.findall(r'\d.+', str)
# 返回小数
list

判断列表是否为空

list == []

len(list) = 0 # ==> []
len(list) > 1 # ==> 非空

a x i s = { 0 , 列 1 , 行 axis= \begin{cases} 0, & \text{列}\\ 1,& \text{行} \end{cases} axis={0,1,

从后向前取n个值

arr[-n:]

获取 value 最大元素的 index

aa = [...]
aa.index(max(aa))

迭代函数

enumerate(可迭代对象)
# 生成 index 和 value
pandas

合并

pd.concat([data, pd.DataFrame(columns = blank)], axis = 0) # 增加空白columns

删除指定column为空的行

data.dropna(subset = ['price'])

删除某一列是重复的

df.drop_duplicates(subset = 'label')

判断元素是否为空

pd.isna()
pd.isnull
pd.notnull()

将某一列为空的值取出来

df[pd.isnull(df)]

replace 替换多个

df.replace({'A':100, 'B':50})

排序

df.sort_values(by = ['a'])

删除空白列

df.dropna(axis = 1, how = 'all')
# axis = 0 按行(default)
# axis = 1 按列

# any : 只要有 1 个
# all : 全部都为空才 drop

取最大/最小值的 index

df.idxmax() # 最大值的索引
df.idxmin() # 最小值的索引

使用plotly画 dataframe

import plotly.express as px

px.scatter(data, x = '', y = '') # x 和 y 是 data 中的 columns 
数据类型转换

判断数据类型

isinstance(a, str) # 判断 a 是否为 str型

字符串 ==> 数值

int(str)

ndarry 转 list

aa = np.array([])
bb = aa.tolist()

列标转 Excel 列标字母(调用 xlsxwriter)

xlsxwriter.utility.xl_col_to_name(index)

参考资料:Convert spreadsheet number to column letter

  • xlsxwriter 源码方法:
def xl_col_to_name(col, col_abs=False):
    """
    Convert a zero indexed column cell reference to a string.

    Args:
       col:     The cell column. Int.
       col_abs: Optional flag to make the column absolute. Bool.

    Returns:
        Column style string.

    """
    col_num = col
    if col_num < 0:
        warn("Col number %d must be >= 0" % col_num)
        return None

    col_num += 1  # Change to 1-index.
    col_str = ''
    col_abs = '$' if col_abs else ''

    while col_num:
        # Set remainder from 1 .. 26
        remainder = col_num % 26

        if remainder == 0:
            remainder = 26

        # Convert the remainder to a character.
        col_letter = chr(ord('A') + remainder - 1)

        # Accumulate the column letters, right to left.
        col_str = col_letter + col_str

        # Get the next order of magnitude.
        col_num = int((col_num - 1) / 26)

    return col_abs + col_str
  • stackoverflow 方法
start_index = 1   #  it can start either at 0 or at 1
letter = ''
while column_int > 25 + start_index:   
    letter += chr(65 + int((column_int-start_index)/26) - 1)
    column_int = column_int - (int((column_int-start_index)/26))*26
letter += chr(65 - start_index + (int(column_int)))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python数据处理可以使用pandas库来实现。pandas库提供了丰富的功能和方法,可以对数据进行清洗、处理和分析。在数据处理过程中,可以使用pandas的DataFrame对象来表示和操作数据。可以使用DataFrame对象的方法来删除空值、重复值和异常值。例如,可以使用dropna()方法来删除DataFrame中的空值,使用drop_duplicates()方法来删除重复值,使用条件筛选来删除异常值。\[3\]此外,pandas还提供了其他一些方法来处理数据,如合并、拆分、排序、过滤等。可以使用pandas的方法来对数据进行转换、计算和统计分析。同时,还可以使用matplotlib包来进行数据可视化,以便更好地理解和展示数据。\[2\]总之,Python数据处理功能强大且灵活,可以满足各种数据处理需求。 #### 引用[.reference_title] - *1* [Python数据处理](https://blog.csdn.net/qq_62789540/article/details/122541001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python深度学习:Python数据处理及可视化(读书笔记)](https://blog.csdn.net/awaitxm/article/details/122657531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Python数据处理】—— 常用Python数据处理方法](https://blog.csdn.net/wellcoder/article/details/129960671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值