DataFrame 中某一列是元组形式拆成两列

1.有元组的拆分

df3_new.head()
migratenumber1migrate
0-11441.0(北京, 廊坊)
1-9745.0(深圳, 惠州)
2-7393.0(上海, 苏州)
3-7053.0(东莞, 惠州)
4-4451.0(北京, 保定)

 

想把这个里面的migrate拆成两列

#将元组拆包
#dataframe 中某一列是元组形式拆成两列
for i in range (len(df3_new)):
    l1 = [list(j)[0] for j in df3_new['migrate']]
    l2 = [list(k)[1] for k in df3_new['migrate']]
l1
l2
df3_new['地区'] = l1
df3_new['city'] = l2
df3_new
df3_new1 = df3_new.drop('migrate', axis = 1)
df3_new.head()

 

number1地区city
-11441.0北京廊坊
-9745.0深圳惠州
-7393.0上海苏州
-7053.0东莞惠州
-4451.0北京保定

2.普通拆分:(注:本方法不适用本文档)拆分有逗号隔开的列

df3_new
df3_new['地区'] = df3_new['migrate'].map(lambda x :x.split(',')[0])
df3_new['city'] = df3_new['migrate'].map(lambda x :x.split(',')[1])
df3_new

 

3.如何遍历一列数组并重新对数组进行编号赋值,形如['a', 'b', 'c', 'c', 'd']变成[1,2,3,3,4]

思路:

#1.将列表用set进行去重

#2.取长度,并生成等长的列表

#3将1,2的结果构建字典

#4对原始的列表进行字典映射

上代码:

city1 = set(list(city)) 
list(city1)[:10]
['遂宁', '北京', '乐山', '菏泽', '毕节', '枣庄', '运城', '吕梁', '吐鲁番', '张家界']
n = [ i for i in range(len(city1))]
c = list(city1)
data= dict(map(lambda x,y:[x,y], c,n))#将节点和标签建立字典
plane['n1'] = plane['地区'].map(data)#map函数将 节点和编号对应 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值