Pandas 基础(8) - 用 concat 组合 dataframe
2019-02-25 16:14:48来源:博客园 阅读 ()
以各个城市的天气为例, 先准备下面的数据:
印度天气的相关信息:
import pandas as pd
india_weather = pd.DataFrame({
'city': ['mumbai', 'delhi', 'banglore'],
'temperature': [32, 34, 30],
'humidity': [80, 60, 72]
})
india_weather
美国天气的相关信息:
us_weather = pd.DataFrame({
'city': ['newyork', 'chicago', 'orlando'],
'temperature': [21, 24, 32],
'humidity': [68, 65, 70]
})
us_weather
用 concat 组合上面两个 dataframe:
df = pd.concat([india_weather, us_weather])
df
输出:
上面的输出最左边的序列号是重复的, 原因是数据分别来自两个 dataframe 的索引值, 可以通过忽略原本的索引来做改变:
df = pd.concat([india_weather, us_weather], ignore_index=True)
输出:
下面再介绍另一种输出形式:
df = pd.concat([india_weather, us_weather], keys=['india', 'us'])
输出:
由于我们上面设置了关键字, 所以下面就可以利用这个关键字获取相关的信息:
df.loc['india']
输出:
从我们一系列的输出可以看出, 这些组合都是纵向的组合, 那么在实际应用中, 我们是经常需要做横向组合的, 比如下面的例子:
temperature_df = pd.DataFrame({
'city': ['newyork', 'chicago', 'orlando'],
'temperature': [21, 24, 32],
})
windspeed_df = pd.DataFrame({
'city': ['newyork', 'chicago', 'orlando'],
'temperature': [7, 12, 9],
})
横向组合:
df = pd.concat([temperature_df, windspeed_df], axis=1)
输出:
从目前的输出来看, 两组数据对应的很好, 同一个城市都在同一行上, 那如果我们把数据源改下:
windspeed_df = pd.DataFrame({
'city': ['chicago', 'newyork'],
'temperature': [12, 7],
})
我改动了关于风速的数据, 颠倒了城市的顺序, 还删掉了一个城市, 大家可以自己运行一下, 看到输出的结果有点乱了. 遇到这种情况, 我们可以通过给原数据加索引的方式, 来设置数据的排序:
temperature_df = pd.DataFrame({
'city': ['newyork', 'chicago', 'orlando'],
'temperature': [21, 24, 32],
}, index=[0, 1, 2])
windspeed_df = pd.DataFrame({
'city': ['chicago', 'newyork'],
'temperature': [12, 7],
}, index=[1, 0])
输出:
这样数据顺序就调好了.
下面再介绍一下 dataframe 与 series 的组合方式:
s = pd.Series(['Humidity', 'Dry', 'Rain'], name='event')
df = pd.concat([temperature_df, s], axis=1)
输出:
以上就是关于 concat 的组合数据的一些常用方法啦, 下节课会带来更劲爆的组合方法, enjoy~~~
原文链接:https://www.cnblogs.com/rachelross/p/10428602.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python_0基础开始_day07 2019-08-13
- 【Python】语法基础 | 开始使用Python 2019-08-13
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
- python3基础之“小练习(3)” 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash