Python 数据分析中用数字替换字符串


有时在数据分析中需要将字符串转换为数字(整数/浮点数)。对于每个字符串,我们可以分配一个唯一的整数值来区分字符串值。

为此,我们使用逗号分隔值 (CSV) 文件中的数据。假设我们有一个包含以下 CSV 数据的 Excel 文件:

公司行业建议
HDFC 银行金融持有
阿波罗医疗保健买入
英雄汽车表现不佳
Yes 银行金融持有
M&M汽车表现不佳
Fortis医疗保健买入
马鲁蒂汽车表现不佳

以上只是大型数据集中的几行,我们需要为不同的建议(例如买入、持有、表现不佳等)分配整数值,这些整数值将链接到我们的元数据。因此,对于上述输入,我们预期的输出将类似于:

公司行业建议
HDFC 银行金融2
阿波罗医疗保健1
英雄汽车3
Yes 银行金融2
M&M汽车3
Fortis医疗保健1
马鲁蒂汽车3

以下是如何将我们的字符串(列值)替换为整数。

代码 1

#Import required library
import pandas as pd
#Import the CSV file into Python using read_csv() from pandas
dataframe = pd.read_csv("data_pandas1.csv")
#Create the dictionary of key-value pair, where key is
#your old value(string) and value is your new value(integer).
Recommendation = {'Buy': 1, 'Hold': 2, 'Underperform': 3}
#Assign these different key-value pair from above dictiionary to your table
dataframe.Recommendation = [Recommendation[item] for item in dataframe.Recommendation]
#New table
print(dataframe)

结果

          Company         Industry        Recommendation
   0    HDFC Bank          Finance         2
   1    Apollo             Healthcare      1
   2    Hero               Automobile      3
   3    Yes Bank           Finance         2
   4    M&M                Automobile      3
   5    Fortis             Healthcare      1 
   6    Maruti             Automobile      3

还有另一种编写上述代码的方法,我们不使用字典,而是直接在条件匹配时为列字段(此处为“建议”)分配另一个值。

#Import required library
import pandas as pd
#Import the CSV file into Python using read_csv() from pandas
dataf = pd.read_csv("data_pandas1.csv")
#Directly assigning individual fields of Recommendation column different integer value
#if condition matches .i.e.In the dataframe, recommendation columns we have "Buy" we'll assign
# integer 1 to it.
dataf.Recommendation[data.Recommendation =='Buy'] =1
dataf.Recommendation[data.Recommendation =='Hold'] =2
dataf.Recommendation[data.Recommendation =='Underperform'] =3
print(dataf)

结果

    Company      Industry       Recommendation
0    HDFC Bank    Finance        2
1    Apollo       Healthcare     1
2    Hero         Automobile     3
3    Yes Bank     Finance        2
4    M&M          Automobile     3
5    Fortis       Healthcare     1
6    Maruti       Automobile     3

在上面,我提到了两种将表(csv 格式文件)中的字符串数据替换为整数值的方法,并且在您有相同需求将数据字段从字符串更改为整数时,会出现很多情况。

更新于:2019年7月30日

778 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告