pandas中怎么一起赋值两列?
本帖最后由 ymhld 于 2020-5-17 16:00 编辑我想增加两列,序号和列名,一个等于索引,一个等于p列,用两行赋值是可以写,能写到一个语句里吗?
用过data[['序号','列名']]=data.apply(lambda x :('序号‘,’列名') axis=1,result_type='expand')
但只能把文字赋值里面,不能直接等于index 和P列
有没有data[['序号','列名']]=data这样的简洁写法?
data[['序号','列名']]=data[['p','x']] 这样是可以的,但怎么把index加进去?
import numpy as np
import pandas as pd
from pandas import Series
chengji = [['N', 95, 0], ['N', 100, 88], ['N', 88, 100], ['N', 66, 0]]
data = pd.DataFrame(chengji, columns=['p', 'x', 'g'])
data['序号']=data.index
data['列名']=data['p']
print(data) Ryan袁奥 发表于 2020-5-17 15:19
pandas 使用apply可同时处理两列数据
import numpy as np
这是处理两列,有没有新建两列一起再用index和其它列赋值的方法? data[['序号','列名']]=pd.concat(], axis=1) data['序号'], data['列明'] = data.index, data['p']
这样也行{:1_918:} Qnly_genius 发表于 2020-5-17 16:49
这样也行{ ...
好吧,算你胜了 ymhld 发表于 2020-5-17 16:54
好吧,算你胜了
你这个需求列数多一点的话,用concat就挺好 Qnly_genius 发表于 2020-5-17 16:56
你这个需求列数多一点的话,用concat就挺好
找了好多办法,但index除了这样赋值外,都用不上 我也觉得concat比较合适…………把索引移入DataFrame可以试试 df.reset_index(drop=False) ? rsnodame 发表于 2020-5-17 20:49
我也觉得concat比较合适…………把索引移入DataFrame可以试试 df.reset_index(drop=False) ?
看来是直接用不行了,曲线救国吧,不行写就写两行吧
页:
[1]