pandas添加自增列的2種實現方案
有時候我們需要添加一列自動增加數字的列,可以用下面兩種方法:
第一種
>>> import pandas as pd >>> df = pd.DataFrame([{'name':'apple', 'count':4},\ {'name':'orange', 'count':2}]) >>> df = df.reset_index() >>> df.columns.values[0] = 'New_ID' >>> df['New_ID'] = df.index + 880 >>> df New_ID name count New_ID 0 0 apple 4 880 1 1 orange 2 881
第二種
>>> import pandas as pd >>> df = pd.DataFrame([{'name':'apple', 'count':4},\ {'name':'orange', 'count':2}]) >>> df.insert(0, 'New_ID', range(880, 880 + len(df))) >>> df New_ID name count 0 880 apple 4 1 881 orange 2
補充:pandas新增一列作為id,或者新增有默認值的一列
原始數據:
我們想要在text這一列前面加上一列作為id(數字從小到大吧),在後面加上一列作為標簽,默認0吧
import pandas as pd data = pd.read_csv('test.txt') n = len(data)+1 nlist = range(1,n) data['id'] = nlist data['label'] = 0 print(data.head()) data.to_csv('newTest.csv',columns=['id','text','label'],index=0,header=1) 可以加上 df=pd.read_csv(sourceFile,low_memory=False) #讀取csv,設置low_memory=False防止內存不夠時報警告 #以下保存指定的列到新的csv文件,index=0表示不為每一行自動編號,header=1表示行首有字段名稱
最後數據:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- pandas中提取DataFrame某些列的一些方法
- 詳解pandas映射與數據轉換
- Python Pandas基礎操作詳解
- Pandas reindex重置索引的使用
- Python Pandas學習之Pandas數據結構詳解