我又一个table, 使用pandas读入,其中一列是字符串,例如’address‘列下面的地址是:Guangdong Shenzhen。
现在想要将这一列分为两列,即Guangdong和Shenzhen各一列,请问有什么快速的方法。
我使用了.loc[]的方式,但是速度太慢了,处理一行就要0.15s左右,而我的数据集有400W条记录。
谢谢大家。刚在CSDN提问,没有金币,还望大神不吝赐教。
dataframe一列变多列,其中用空格作分隔符
** table['address'].str.split(r' ',expand=True)**
用pd.concat把多列加回table,命名新的两列Province, City
合起来就是
** pd.concat([table,table['address'].str.split(r' ',expand=True)],axis=1,names=['Province','City'])**
data.insert(1,'city',data['address']) #先复制原来的列
data["address"] = data["address"].map(lambda x:x.split()[0]) #分别处理新旧两列
data["city"] = data["city"].map(lambda x:x.split()[1])
错了一处,names不能这么用
更正:
pd.concat([table,table['address'].str.split(r' ',expand=True)],axis=1)
table.rename(columns={0:'Province',1:'City'}, inplace=True)
没有特征的列,就是人机对话,如何把问题和答案分为两列啊
我也不知道,需要金币