pandas在excel中的应用2

21 篇文章 1 订阅
4 篇文章 0 订阅

pandas在excel中的应用_Jack_2085-CSDN博客1、pandas 中 一维数组,二维数组和exce,csv的简单应用。import pandas as pd# series 方法代表一维数组# li_st = ["r", "t", "c", "d"]# li_index = ["p", "k", "y", "o"]# 指定索引,索引的长度要和一维数组的长度一样# li_st_ser = pd.Series(li_st, li_index)# print(li_st_ser)# di_ct = {"a": "1", "v": 3https://blog.csdn.net/weixin_54217632/article/details/121953852

1、python中时间的取值与转换

from dateutil.parser import parse
from win32timezone import now
from datetime import datetime

# 输出当前时间
print(now())
print(datetime.now())
# 输出年月日时分秒
print(now().year)
print(datetime.now().month)
print(datetime.now().day)
print(now().hour)
print(now().minute)
print(now().second)
# 输出星期几
print(datetime.now().weekday()+1)
print(datetime.now().isoweekday())
# 输出日期和时间
print(datetime.now().date())
print(datetime.now().time())
# 输出指定格式的日期及时间
print(datetime.now().strftime("%Y-%m-%d"))
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 字符串转换成时间
print(parse("2021-12-21 20:50:24"))
print(type(parse("2021-12-21 20:50:24")))

2、pandas根据时间及时间段取行信息

import pandas as pd
from datetime import datetime

from dateutil.parser import parse

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet2")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

# 指定列中某天的行信息
indexInfo = pdd[pdd["成交时间"] == parse("2019-09-21")]
print(indexInfo)

# 指定大于某天的行信息
moreIndexInfo = pdd[pdd["成交时间"] > parse("2019-09-14")]
print(moreIndexInfo)

# 指定小于某天的行信息
lessIndexInfo = pdd[pdd["成交时间"] < parse("2019-09-14")]
print(lessIndexInfo)

# 指定某段时间的行信息
betweenIndexInfo = pdd[(pdd["成交时间"] > parse("2019-09-15")) & (pdd["成交时间"] < parse("2019-09-22"))]
print(betweenIndexInfo)

3、生成时间行索引的二维数组,求指定行和列的值

import pandas as pd
import numpy as np

# 生成时间行索引的二维数组,求指定行和列的值。
pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet2")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

indexMore = pd.DatetimeIndex(["2019-09-11", "2019-09-12", "2019-09-13", "2019-09-14",
                              "2019-09-15", "2019-09-16", "2019-09-17", "2019-09-18",
                              ])

#  输出一个时间行索引的二维数组
dataInfo = pd.DataFrame(np.arange(1, 9), columns=["num"], index=indexMore)
print(dataInfo)

print("*********************************")
da2019 = dataInfo["num"]
print(da2019)

# 通过切片求行的值
dataiIoc = dataInfo[0: 3]
print(dataiIoc)

4、pandas对二维数组行或列的取值

      4.1、并且保存在excel中

import numpy as np
import pandas as pd

# pandas对二维数组行或列的取值
data = pd.DataFrame(np.arange(16).reshape(4, 4), index=list("ABCD"), columns=list('wxyz'))
print(data)
print(data[0:2])  # 取前两行数据
print('+++++++++++++')

print(len(data))  # 求出一共多少行
print(data.columns.size)  # 求出一共多少列
print('+++++++++++++')

print(data.columns)  # 列索引名称
print(data.index)  # 行索引名称
print('+++++++++++++data.loc[A]重点关注')

print(data['x'])  # 取列索引为x的一列数据
print(data.loc['A'])  # 取第行索引为”A“的一行数据,
print('+++++++++++++')

print(data.loc[:, ['x', 'z']])  # 表示选取所有的行以及columns为a,b的列;
print(data.loc[['A', 'B'], ['x', 'z']])  # 表示选取'A'和'B'这两行以及columns为x,z的列的并集;
print('+++++++++++++')

# 下面两行代码的区别。
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@下面两行代码的区别")
print(data.iloc[1:3, 1:3])  # 数据切片操作,切连续的数据块
print(data.iloc[[1, 2], [1, 2]])  # 即可以自由选取行位置,和列位置对应的数据,切零散的数据块
print('+++++++++++++')

print(data[data > 2])  # 表示选取数据集中大于0的数据
print(data[data.x > 5])  # 表示选取数据集中x这一列大于5的所有的行

print('+++++++++++++')
a1 = data.copy()
print(a1[a1['y'].isin(['6', '10'])])  # 表显示满足条件:列y中的值包含'6','8'的所有行。

print(data.mean())  # 默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值;
print(data['x'].value_counts())  # 统计某一列x中各个值出现的次数:

print(data.describe())  # 对每一列数据进行统计,包括计数,均值,std,各个分位数等。

data.to_excel('C:/Users/Administrator/Desktop/456999/t119top100.xlsx')  # 数据输出至Excel

5、pandas时间偏移的操作

from datetime import datetime
from dateutil.parser import parse
from pandas.tseries.offsets import Day, Hour, Minute
date = datetime(2021, 12, 22, 15, 10)

# pandas时间偏移的操作

# 用parse函数求时间差
pps = parse("2025-08-15") - parse("2021-12-22")
print(pps)

# 加一天
date_day = date+Day(1)
print(date_day)

# 加一小时
date_hour = date+Hour(1)
print(date_hour)

# 加一分钟
date_Minute = date+Minute(1)
print(date_Minute)

6、pandas 对excel的分组统计与计算

import pandas as pd


pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 统计个数count()函数
pdIndexGroupby = pdIndex.groupby("客户分类").count()
print(pdIndexGroupby)
pddGroupby = pdd.groupby("客户分类").count()
print(pddGroupby)

print("#######################################")
# 求和计算
pdIndexGroupbysum = pdIndex.groupby("客户分类").sum()
print(pdIndexGroupbysum)
pddGroupbysum = pdd.groupby("客户分类").sum()
print(pddGroupbysum)

print("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
# 按照多列进行分组计算
pdIndexGroupby2 = pdIndex.groupby(["客户分类", "区域"]).count()
print(pdIndexGroupby2)
pddGroupby2 = pdd.groupby(["客户分类", "区域"]).count()
print(pddGroupby2)

print("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
# 按照多列进行分组求和
pdIndexGroupbysum2 = pdIndex.groupby(["客户分类", "区域"]).sum()
print(pdIndexGroupbysum2)
pddGroupbysum2 = pdd.groupby(["客户分类", "区域"]).sum()
print(pddGroupbysum2)


# 指定某一列对应一列行中不同值的个数
pddGroupbycounted = pdd.groupby("客户分类")["用户ID"].count()
print(pddGroupbycounted)

7、groupby()函数中aggregate()函数和sum()的应用,也就是组合统计和建索引。

import pandas as pd


pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 统计个数和计算求和:aggregate()函数
pdIndexGroupby = pdIndex.groupby("客户分类").count()
print(pdIndexGroupby)
pdIndexGroupbysum = pdIndex.groupby("客户分类").sum()
print(pdIndexGroupbysum)
pddGroupbyaggregate = pdd.groupby("客户分类").aggregate(["count", "sum"])
print(pddGroupbyaggregate)

print("*******************************************")
# aggregate指定任意列,计算和求和
pddAggregateMore = pdd.groupby("客户分类").aggregate({"用户ID": "count", "7月销量": "sum", "8月销量": "sum"})
print(pddAggregateMore)

print("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
# 对分组后的结果重置索引(重新建立索引)
print(pdIndex.groupby("客户分类").sum())
print(pdd.groupby("客户分类").sum().reset_index())

8、指定行和列,输出数据透视表

  

import pandas as pd

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 指定行和列,输出数据透视表
pddTable = pdd.pivot_table(values="用户ID", columns="区域", index="客户分类",
                           aggfunc="count")
print(pddTable)

pddTable.to_excel('C:/Users/Administrator/Desktop/456999/pivot_table123.xlsx')

显示的结果如下:

9、pandas生产一个二维数组,并保存在excel中

import pandas as pd
import numpy as np

data = np.arange(1, 101).reshape((10, 10))
data_df = pd.DataFrame(data)
data_df.columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
data_df.index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

data_df.to_excel('C:/Users/Administrator/Desktop/456999/top1000.xlsx')

10、指定行,列,行列总计也加上,输出数据透视表

import pandas as pd

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 指定行,列,行列总计也加上,输出数据透视表
pddTable = pdd.pivot_table(values="用户ID", columns="区域", index="客户分类",
                           aggfunc="count", margins=True, margins_name="总计")
print(pddTable)

pddTable.to_excel('C:/Users/Administrator/Desktop/456999/t_pandas5.xlsx')

11、指定行,列,行列总计也加上,fill_value作用是给NAN赋值,输出数据透视表

import pandas as pd

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 指定行,列,行列总计也加上,fill_value作用是给NAN赋值,输出数据透视表
pddTable = pdd.pivot_table(values="用户ID", columns="区域", index="客户分类",
                           aggfunc="count", margins=True, margins_name="总计",
                           fill_value=0)
print(pddTable)

pddTable.to_excel('C:/Users/Administrator/Desktop/456999/t_pandas5.xlsx')

12、指定行,多列,行,多列列总计也加上,fill_value作用是给NAN赋值,输出数据透视表

import pandas as pd

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 指定行,多列,行,多列列总计也加上,fill_value作用是给NAN赋值,输出数据透视表
pddTable = pdd.pivot_table(values=["用户ID", "7月销量"], columns="区域", index="客户分类",
                           aggfunc={"用户ID": "count", "7月销量": "sum"}, margins=True, margins_name="总计",
                           fill_value=0)
print(pddTable)

pddTable.to_excel('C:/Users/Administrator/Desktop/456999/t_pandas6.xlsx')

 输出结果:

13、

   13.1、指定行,多列,行,多列列总计也加上,fill_value作用是给NAN赋值,输出数据透视表
   13.2、reset_index()函数是给透视表重置索引

import pandas as pd

pdIndex = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet5")
pdd = pd.DataFrame(pdIndex)
print(pdIndex)

print("++++++++++++++++++++++++++++++++")
# 指定行,多列,行,多列列总计也加上,fill_value作用是给NAN赋值,输出数据透视表
# reset_index()函数是给透视表重置索引
pddTable = pdd.pivot_table(values=["用户ID", "7月销量"], columns="区域", index="客户分类",
                           aggfunc={"用户ID": "count", "7月销量": "sum"}, margins=True, margins_name="总计",
                           fill_value=0).reset_index()
print(pddTable)

pddTable.to_excel('C:/Users/Administrator/Desktop/456999/t_pandas6.xlsx')

14、Excel中VLOOKUP函数的详细用法

Excel中VLOOKUP函数的详细用法(灰常有用,求加精!求加精!)_whatever9527的博客-CSDN博客_excel vlookup函数用法https://blog.csdn.net/whatever9527/article/details/78432365

15、用merge函数合并两张excel表(一对一合并)

     15.1、第一张表

          

      15.2、第二张表

          

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet11")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet12")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表(一对一合并)
print("****************************111")
print(pd.merge(pdIndex11, pdIndex12))
print("****************************222")
print(pd.merge(pdd11, pdd12))

16、

   16.1、用merge函数合并两张excel表(一对多合并)
   16.2、下面merge函数里面,加on与不加on,效果一样。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet13")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet14")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表(一对多合并)
# 下面merge函数里面,加on与不加on,效果一样。
print("****************************111")
print(pd.merge(pdIndex11, pdIndex12))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号"))

17、

    17.1、 用merge函数合并两张excel表(多对多合并)
    17.2、 下面merge函数里面,必须加上on

                 

  

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet15")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet16")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表(多对多合并)
# 下面merge函数里面,必须加上on
print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, on="学号"))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号"))

18、

18.1、用merge函数合并两张excel表(多字段,多对多合并)
18.2、下面merge函数里面,默认找相同的列,最好加上on,指明那几列。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet17")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top10.xlsx", sheet_name="Sheet18")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表(多字段,多对多合并)
# 下面merge函数里面,默认找相同的列,最好加上on,指明那几列。
print("****************************111")
print(pd.merge(pdIndex11, pdIndex12))
print("****************************222")
print(pd.merge(pdd11, pdd12, on=["学号", "姓名"]))

19、

    19.1、 用merge函数合并两张excel表(当两张表字段内容取的是同一个值
    19.2、 但是,这两种表的字段名字不同,需要指明两张表的字段名字,再匹配两张表)
    19.3、 用left_on 和 right_on 函数

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表(当两张表字段内容取的是同一个值
# 但是,这两种表的字段名字不同,需要指明两张表的字段名字,再匹配两张表)
# 用left_on 和 right_on 函数

print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, left_on="学号", right_on="编号"))
print("****************************222")
print(pd.merge(pdd11, pdd12, left_on="学号", right_on="编号"))

20、

   20.1、 用merge函数合并两张excel表
   20.2、 on函数指明,共同字段,how函数指明用什么方法
   20.3、 不指明连接方式,默认都是内连接。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表
# on函数指明,共同字段,how函数指明用什么方法
# 不指明连接方式,默认都是内连接。

print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, on="学号", how="inner"))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号", how="inner"))

21、

    21.1、 用merge函数合并两张excel表,左连接方式
    21.2、 on函数指明,共同字段,how函数指明用什么方法
    21.3、 不指明连接方式,默认都是内连接。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表,左连接方式
# on函数指明,共同字段,how函数指明用什么方法
# 不指明连接方式,默认都是内连接。

print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, on="学号", how="left"))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号", how="left"))

22、

   22.1、 用merge函数合并两张excel表,右连接方式
   22.2、 on函数指明,共同字段,how函数指明用什么方法
   22.1、 不指明连接方式,默认都是内连接。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表,右连接方式
# on函数指明,共同字段,how函数指明用什么方法
# 不指明连接方式,默认都是内连接。

print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, on="学号", how="right"))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号", how="right"))

23、

    23.1、 用merge函数合并两张excel表,外连接方式(outer),可以理解成全连接。
    23.2、 on函数指明,共同字段,how函数指明用什么方法
    23.3、 不指明连接方式,默认都是内连接。

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用merge函数合并两张excel表,外连接方式(outer),可以理解成全连接。
# on函数指明,共同字段,how函数指明用什么方法
# 不指明连接方式,默认都是内连接。

print("****************************111")
print(pd.merge(pdIndex11, pdIndex12, on="学号", how="outer"))
print("****************************222")
print(pd.merge(pdd11, pdd12, on="学号", how="outer"))

24、

    24.1、 用concat函数合并两张excel表,垂直合并两张表。
    24.2、 小括号里面要有中括号

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用concat函数合并两张excel表,垂直合并两张表。
# 小括号里面要有中括号
print("****************************111")
print(pd.concat([pdIndex11, pdIndex12]))
print("****************************222")
print(pd.concat([pdd11, pdd12]))

# 下面用ignore_index()函数重新生产新的索引值
print("****************************222")
print(pd.concat([pdd11, pdd12], ignore_index=True))
#  下面用drop_duplicates()函数删除重复值
print("****************************333")
print(pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates())



# 下面把结果保存在excel中
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_excel("C:/Users/Administrator/Desktop/456999"
                                                                        "/drop_duplicates "
                                                                        ".xlsx")

# 生成一个excel,一个sheet_name的方法
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_excel("C:/Users/Administrator/Desktop/456999"
                                                                        "/drop_duplicates "
                                                                        ".xlsx", sheet_name="123", index=False,
                                                                        columns=["姓名", "姓名"],
                                                                        encoding="utf-8")
# 生成一个excel多个sheet_name的方法
writer = pd.ExcelWriter('C:/Users/Administrator/Desktop/456999/大众.xlsx')
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_excel(writer, "配置")
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_excel(writer, "外观")
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_excel(writer, "内饰")
writer.save()

解决Pandas的to_excel()写入不同Sheet,而不会被重写_初一的博客-CSDN博客_pandas写入不同sheethttps://blog.csdn.net/weixin_43060843/article/details/100766677

25、

      25.1、生成一个csv,一个sheet_name的方法。

      25.2、encoding="utf-8-sig",防止乱码的设置。

        25.3、sep="",为分隔符,常用的分割符有逗号,空格,分号。

  

import pandas as pd

# 第一张表
pdIndex11 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet2")
pdd11 = pd.DataFrame(pdIndex11)
print(pdIndex11)

# 第二张表
pdIndex12 = pd.read_excel("C:/Users/Administrator/Desktop/456999/top11.xlsx", sheet_name="Sheet3")
pdd12 = pd.DataFrame(pdIndex12)
print(pdIndex12)

# 用concat函数合并两张excel表,垂直合并两张表。
# 小括号里面要有中括号
print("****************************111")
print(pd.concat([pdIndex11, pdIndex12]))
# 下面用ignore_index()函数重新生产新的索引值
print("****************************222")
print(pd.concat([pdd11, pdd12], ignore_index=True))
#  下面用drop_duplicates()函数删除重复值
print("****************************333")
print(pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates())

# 生成一个csv,一个sheet_name的方法
pd.concat([pdd11, pdd12], ignore_index=True).drop_duplicates().to_csv("C:/Users/Administrator/Desktop/456999"
                                                                      "/drop_duplicates"
                                                                      ".csv", index=False,
                                                                      columns=["姓名", "姓名"],
                                                                      encoding="utf-8-sig"
                                                                      )

pandas的to_csv()使用方法_暖心生的博客-CSDN博客_to_csvhttps://blog.csdn.net/toshibahuai/article/details/79034829

26、pandas删除excel和csv文件中特定的行和列 - 知乎

      26.1、

           Pandas中关于axis参数的理解 - 知乎之前一直对pandas和numpy里的axis 参数理解的不透彻,今天把它写下来加深印象。 axis = 0 是代表跨行,而axis = 1 是代表跨列,想明白这一点,对于其他的操作就都想明白了。 numpy 官方文档对axis的解释很简单,但…https://zhuanlan.zhihu.com/p/115646862    

import pandas as pd

# python生成二维数组,
df = pd.DataFrame({"姓名": ["张霞", "刘静", "李小波", "王志远", "杨青山", "黄文娟"],
                   "入职时长(年)": [1.0, 3.0, 0.2, 1.0, 0.5, 2.0],
                   "绩效": [43, 81, 50, 63, 49, 75]})
print(df)
df.to_excel("C:/Users/Administrator/Desktop/456999/2022/3z/202201151959.xlsx")

# 是否可申请提干
df["是否可申请"] = (df["入职时长(年)"] > 0.5) | (df["绩效"] > 60)
print(df)
df.to_excel("C:/Users/Administrator/Desktop/456999/2022/3z/202201151960.xlsx")
print("******************************")

# 拷贝一份数据
df_copy = df
#  方法1,取出绩效大于60的人信息(isin是包含的意思)
df_copy["成绩大于60"] = df_copy["绩效"] > 60
result = df_copy[df_copy["成绩大于60"].isin([True])]
print(result)
result.to_excel("C:/Users/Administrator/Desktop/456999/2022/3z/202201152009.xlsx")

print("***********************************")
# 拷贝一份数据
df_c2 = df
#  方法2,取出绩效大于60的人信息一定要对结果加小括号[],在用原始数据调用
df_c2_result = df_c2[df_c2["绩效"] > 60]
print(df_c2_result)
result.to_excel("C:/Users/Administrator/Desktop/456999/2022/3z/202201152133.xlsx")

27、

28、

29、

30、

31、

32、

33、

34、

35、

36、

37、

38、

39、

40、

41、

42、

43、

44、

45、

46、

47、

48、

49、

50、

51、

52、

53、

54、

55、

56、

57、

58、

59、

60、

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值