如何根据索引合并两个dataframe
答案:3 悬赏:80 手机版
解决时间 2021-02-15 21:23
- 提问者网友:树红树绿
- 2021-02-15 17:26
如何根据索引合并两个dataframe
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-15 18:35
该DataFrame包含的数据如下 假如我们想要筛选D列数据中大于0的行 使用&符号可以实现多条件筛选
全部回答
- 1楼网友:动情书生
- 2021-02-15 20:17
pandas中的数据结构
series:一维数组,与numpy中的一维array类似。二者与python基本的数据结构list也很相近,其区别是:list中的元素可以是不同的数据类型,而array和series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
time- series:以时间为索引的series。
dataframe:二维的表格型数据结构。很多功能与r中的data.frame类似。可以将dataframe理解为series的容器。以下的内容主要以dataframe为主。
panel :三维的数组,可以理解为dataframe的容器。
在数据处理时,有时候为了数据整合,需要使用合并功能。
数据合并将多个dataframe合并成一个dataframe。
import pandas as pd
from pandas import dataframe
df1=dataframe({'a':['a0','a1','a2','a3'],
'b':['b0','b1','b2','b3'],
'c':['c0','c1','c2','c3'],
'd':['d0','d1','d2','d3']},
index=[0,1,2,3])
df2=dataframe({'a':['a4','a5','a6','a7'],
'b':['b4','b5','b6','b7'],
'c':['c4','c5','c6','c7'],
'd':['d4','d5','d6','d7']},
index=[4,5,6,7])
df3=dataframe({'a':['a8','a9','a10','a11'],
'b':['b8','b9','b10','b11'],
'c':['c8','c9','c10','c11'],
'd':['d8','d9','d10','d11']},
index=[8,9,10,11])
frames=[df1,df2,df3]
result=pd.concat(frames)
演示及结果如下
将三个dataframe合并到一个dataframe。
使用concat()函数。
以下是其函数的相关参数。
result = pd.concat(frames, keys=['x', 'y', 'z'])
result
result.ix['x']
将其合并后用索引区分来源于不同dataframe的数据。
df4=dataframe({'b':['b2','b3','b6','b7'],
'd':['d2','d3','d6','d7'],
'f':['f2','f3','f6','f7']},
index=[2,3,6,7])
result=pd.concat([df1,df4],axis=1)
result=pd.concat([df1,df4],axis=1,join='inner')
concat()默认join参数(default)为outer,为并集(union)
指定为inner时为交集(intersection)
- 2楼网友:深街酒徒
- 2021-02-15 18:57
df_new = df.set_index('new_index_col')
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯