Press "Enter" to skip to content

Pandas之上下合并append操作

合并是我们经常会用到的功能,那么早pandas库中也有合并操作,那么我用一个例子来演示一下这个合并的操作

首先打开一份数据

我先提取出第0~10行的数据

df1=df.iloc[0:10][['交易日期', '股票代码', '收盘价', '成交量']] #按行提取数据

再提取出第5 ~ 16行的数据

df2=df.iloc[5:16][['交易日期', '股票代码', '收盘价', '成交量']]
import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\a_stock_201903.csv',encoding='gbk')
print(df)

df1=df.iloc[0:10][['交易日期', '股票代码', '收盘价', '成交量']] #按行提取数据
df2=df.iloc[5:16][['交易日期', '股票代码', '收盘价', '成交量']]

print(df1)
print(df2)

现在我需要把提取出来的2份数据上下拼接起来,这个时候就可以使用append操作了,具体如下:

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\a_stock_201903.csv',encoding='gbk')

df1=df.iloc[0:10][['交易日期', '股票代码', '收盘价', '成交量']] #按行提取数据
df2=df.iloc[5:16][['交易日期', '股票代码', '收盘价', '成交量']]

result=df1.append(df2) # df1和df2上下拼接
print(result)

打印出来的数据会看到,df1和df2的第5~9行的index是相同的,这个时候我们就需要把它去重,所以我们在使用append()函数的时候就要加上去重的参数,如下:

import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)  #处理数据的列标题与数据无法对齐的情况
pd.set_option('display.unicode.east_asian_width', True)   #无法对齐主要是因为列标题是中文

df=pd.read_csv(r'data\a_stock_201903.csv',encoding='gbk')

df1=df.iloc[0:10][['交易日期', '股票代码', '收盘价', '成交量']] #按行提取数据
df2=df.iloc[5:16][['交易日期', '股票代码', '收盘价', '成交量']]

result=df1.append(df2,ignore_index=True) # df1和df2上下拼接
print(result)

这样就实现去重了

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注