将python数据帧的文本/字符串转换为number/int
我可以知道如何将文本/字符串数据转换为Dataframe中某列的数字吗? 如果相同的文本/字符串再次出现,它们应返回相同的数字。 因为世界上有成千上万的水果,所以正在寻找一种转化的一般方法 示例:将python数据帧的文本/字符串转换为number/int,python,pandas,dataframe,type-conversion,Python,Pandas,Dataframe,Type Conversion,我可以知道如何将文本/字符串数据转换为Dataframe中某列的数字吗? 如果相同的文本/字符串再次出现,它们应返回相同的数字。 因为世界上有成千上万的水果,所以正在寻找一种转化的一般方法 示例: 果实数(预期结果) 1苹果1 2橙色2 3苹果1 4香蕉3 5个黑莓4 6鳄梨5 7葡萄6 8橙色2 9苹果1 10芒果7 . . . . . . . . . import pandas as pd fruitList=
果实数(预期结果)
1苹果1
2橙色2
3苹果1
4香蕉3
5个黑莓4
6鳄梨5
7葡萄6
8橙色2
9苹果1
10芒果7
. . . . . . . . .
import pandas as pd
fruitList={'name':[ "Apple","Orange","Apple","Banana","Blackberries","Avocado","Grapes","Orange","Apple","Mango"] }
df = pd.DataFrame(fruitList)
# get distinct fruit names
unique=df.name.unique()
# generating a dictionary based on Id of unique fruit names using list comprehension
dict={ x:index+1 for index, x in enumerate(unique) }
# assigning new column 'Id' values from the dictionary using the map function
df['Id'] = df["name"].map(dict)
print(df)
输出为:
name Id
0 Apple 1
1 Orange 2
2 Apple 1
3 Banana 3
4 Blackberries 4
5 Avocado 5
6 Grapes 6
7 Orange 2
8 Apple 1
9 Mango 7
嗨,Sirimiri-看到这个了吗。它应该能回答你的问题。使用
df['Number']=pd.factorize(df.Fruit)[0]+1