专栏首页微服务架构日记Numpy/Pandas 技巧语法

Numpy/Pandas 技巧语法

Pandas

  • 单独索引

pd的默认索引是从零开始的数字,把一列设置为新的索引可以更便于操作

  • 无header

有的表格可能没有header,pandas默认第一行为header,这种情况pandas会读取不到第一行数据

data2pd.read_csv("test.cvs",header=None)#不把第一行作列属性
  • set_index
# 将列head变为索引,这样可以很方便的提取时间
df = data.set_index('故障发生时间')
df1 = df['2020-03-01':'2020-03-29']
  • 多层索引

index 和 columns 索引互转

  • pandas多个单条Dataframe合并
df2 = pd.DataFrame()
writer = pd.ExcelWriter(f'hello.xlsx', engine='xlsxwriter', mode='wa')

for excel in file_list:
    alarm_data = pd.read_excel(os.path.join(BASE, excel))
    alarm_data.loc[:, '省份'] = alarm_data['省份'].apply(lambda x: str(x).rstrip('省').rstrip('市'))
    aone = alarm_data['网管告警id']
    atwo = alarm_data['省份']
    athree = alarm_data['地市']
    afour = alarm_data['告警清除时间']
    afive = alarm_data['告警标题']

    for line in list(zip(one, two, three, five, four, index)):
        fil = alarm_data[
            (aone == line[0]) & (atwo == line[1]) & (athree == line[2]) & (afive == line[3]) & (afour == line[4])]
        if np.any(fil):
            one_fil = fil.iloc[0:1, :]
            df2 = pd.concat([df2, one_fil])

    print(df2)

Numpy

  • np.all/np.any

该方法和Python的all/any一样,但Python只能处理一维的情况,该方法的作用是在处理一些返回可能为空的情况,很好用

# 避免出现模棱两可的情况
# https://blog.csdn.net/weixin_39449466/article/details/81008505
# any 可迭代对象,有一个为True,则返回True,any([])返回False,可迭代对象若出现0,表示False
for line in list(zip(one, two, three, five, four, index)):
    fil = alarm_data[(aone == line[0]) & (atwo == line[1]) & (athree == line[2]) & (afive == line[3]) & (afour == line[4])]
    # 过滤的数据,可能为None,np.any([None])
    if np.any(fil):
        one_fil = fil.iloc[0:1, :]
        df2 = pd.concat([df2, one_fil])
# all 可迭代对象只有全为True才返回True,特列是np.all([]) 返回True
np.all([])
True

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Numpy和pandas的使用技巧

    '''2、np.cumsum()返回一个数组,将像sum()这样的每个元素相加,放到相应位置'''

    用户2337871
  • Python 全栈 191 问(附答案)

    作为程序员,你的电脑里、书架上,一定少不了 Python 的资料和课程。免费的电子书,花钱买的课,实体书籍...

    double
  • Pandas数据分析小技巧系列 第二集

    已推Pandas数据分析小技巧系列第一集,今天第二集,往下阅读前可以先星标:Python与算法社区,只有这样才会第一时间收到我的推送。

    double
  • Python数据分析(二): Numpy技巧 (3/4)

    numpy、pandas、matplotlib(+seaborn)是python数据分析/机器学习的基本工具。 numpy的内容特别丰富,我这里只能介绍一下比较...

    solenovex
  • Python数据分析(二): Numpy技巧 (2/4)

    numpy、pandas、matplotlib(+seaborn)是python数据分析/机器学习的基本工具。 numpy的内容特别丰富,我这里只能介绍一下比较...

    solenovex
  • 零基础学编程034:解决一个pandas问题

    昨天一位朋友问了一个程序问题:一个csv电子表格文件,里面有不规范数据,如何用pandas的dataframe,将某一列是空值的记录行删掉。 收到了CSV文件,...

    申龙斌
  • Pandas数据分析小技巧系列 第四集

    与时间相关,自然第一感觉便是转化为datetime格式,这里需要注意:需要首先将两列转化为 str 类型。

    double
  • 快速入门 Python 数据分析实用指

    Python 现如今已成为数据分析和数据科学使用上的标准语言和标准平台之一。那么作为一个新手小白,该如何快速入门 Python 数据分析呢?

    py3study
  • 极简Python:数据分析与机器学习最小化知识库

    我们正处于一个数据科技(Data Technology,DT)时代。在这个时代,我们的一举一动都能在数据空间留下电子印记,于是海量的社交、电商、科研大数据扑面而...

    用户1682855
  • 用Python玩转统计数据:取样、计算相关性、拆分训练模型和测试

    本文使用Python建立对数据的理解。我们会分析变量的分布,捋清特征之间的关系。最后,你会学习给样本分层,并将数据集拆分成测试集与训练集。

    华章科技

扫码关注云+社区

领取腾讯云代金券