查看原文
其他

一行pandas代码生成哑变量

大邓 大邓和他的Python 2022-07-09


一、 数据

  1. import pandas as pd


  2. df = pd.read_csv('data.csv', usecols=['Name', 'Info'])


  3. df.head()

二、任务

现在我想生成A、B、C、D的哑变量

三、技术实现

在pandas操作步骤如下:

  1. 先选中pd.DataFrame中的需要操作的Info列,得到pd.Series类型数据

  2. 将pd.Series转化为pd.Series.str

  3. 使用pd.Series.str.get_dummies(),该方法内传入相应的分割符

返回的结果依然是pd.DataFrame类型数据

  1. df.Info.str.get_dummies(',')

如果我们想将得到的结果与原始数据结合,就使用pd.concat函数。

  1. df2 = df.Info.str.get_dummies(',')

  2. df2 = pd.concat([df,df2], axis='columns')

  3. #df2

四、完整代码

我们将完整代码放到一起

  1. import pandas as pd


  2. #读取数据

  3. df1 = pd.read_csv('data.csv', usecols=['Name', 'Info'])


  4. #生成哑变量

  5. df2 = df1.Info.str.get_dummies(',')


  6. #将原始数据与哑变量数据合并

  7. df3 = pd.concat([df1, df2], axis='columns')


  8. #显示合并后的结果

  9. df3

推荐阅读

计算社会经济学

初学Python常见异常错误

文本数据分析文章汇总(2016-至今)

新闻联播也可以拿来做数据分析?

理解实例方法、类方法、静态方法

国务院政府工作报告(1954—2017)文本挖掘及社会变迁研究

文本大数据分析在经济学和金融学中的应用:一个文献综述
PyQuery: 爬虫界最简洁优雅的库
中文金融领域情感词典构建      
用python进行金融市场文本数据的情感计算
生成自己QQ、微信的彩色动态图二维码
如何用pandas对excel中的文本数据进行操作


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存