ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据分析-pandas表格填充

2021-05-14 13:04:19  阅读:157  来源: 互联网

标签:数据分析 str 表格 ID books pd print import pandas


开启今日学习之旅~

用Python读取Excel表,看看有些什么方法呢

我们先来看一下Excel表长什么样

 

然后我们来读取文件

import pandas as pd
books=pd.read_excel('E:/PycharmProjects/pythonProject/Hellopython/Books.xlsx')
print(books)

运行结果:

 

读出来的好像不是我们想要的,那么如何处理呢,就需要我们对参数进行设置

import pandas as pd
books=pd.read_excel('E:/PycharmProjects/pythonProject/Hellopython/Books.xlsx',usecols="C:F",skiprows=3)
print(books)

运行结果:

 

 增加了两个参数,首先跳过前面三行,然后使用C D E F列

可以看一下ID这列的数据类型

print(books['ID'])

运行结果:

 

 可以看到ID是float类型,因为表中为空的地方系统会自动填充为NaN,NaN为float类型,所以如果想要填充整数,可以将dtype设为int,但是系统会报错,不允许float转换为int,先将float转换为str。

import pandas as pd
from datetime import date,timedelta //导入时间
books=pd.read_excel('E:/PycharmProjects/pythonProject/Hellopython/Books.xlsx',usecols="C:F",skiprows=3,dtype={'ID':str,'InStore':str,'Date':str})
start=date(2018,1,1)
for i in books.index:
    books['ID'].at[i]=i+1
    books['InStore'].at[i]='Yes' if i%2==0 else 'No'
    books['Date'].at[i]=start+timedelta(days=i)//timedelta中只有days没有年月
print(books)

运行结果:

 

这里的Date是将天数加一,接下来看一下如何将年加一呢

import pandas as pd
from datetime import date,timedelta
books=pd.read_excel('E:/PycharmProjects/pythonProject/Hellopython/Books.xlsx',usecols="C:F",skiprows=3,dtype={'ID':str,'InStore':str,'Date':str})
print(books['ID'])
start=date(2018,1,1)
for i in books.index:
    books['ID'].at[i]=i+1
    books['InStore'].at[i]='Yes' if i%2==0 else 'No'
    books['Date'].at[i]=date(start.year+i,start.month,start.day)
print(books)

运行结果:

 

 

import pandas as pd
from datetime import date,timedelta
books=pd.read_excel('E:/PycharmProjects/pythonProject/Hellopython/Books.xlsx',usecols="C:F",skiprows=3,dtype={'ID':str,'InStore':str,'Date':str})
def add_month(d,md):
    yd=md//12
    m=d.month+md%12
    if m!=12:
        yd+=m//12
        m=m%12
    return date(d.year+yd,m,d.day)   //月增加时的小算法
start=date(2018,1,1)
for i in books.index:
    books['ID'].at[i]=i+1
    books['InStore'].at[i]='Yes' if i%2==0 else 'No'
    books['Date'].at[i]=add_month(start,i)
print(books)

运行结果:

 

 

books.set_index('ID',inplace=True)
books.to_excel('E:/PycharmProjects/pythonProject/Hellopython/output.xlsx')
print('done!')

输出新的Excel表格

 

 

 好啦,今天的学习之旅结束啦~

 

标签:数据分析,str,表格,ID,books,pd,print,import,pandas
来源: https://www.cnblogs.com/kannei/p/14768104.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有