반응형
팬더를 사용하여 새 기둥에 증분 숫자를 추가하는 방법
다음과 같은 단순화된 데이터 프레임이 있습니다.
ID Fruit
F1 Apple
F2 Orange
F3 Banana
데이터 프레임의 시작 부분에 새 열을 추가하고자 합니다.df['New_ID']
숫자가 있는880
각 행에 하나씩 증가합니다.
출력은 단순히 다음과 같아야 합니다.
New_ID ID Fruit
880 F1 Apple
881 F2 Orange
882 F3 Banana
나는 다음을 시도했습니다.
df['New_ID'] = ["880"] # but I want to do this without assigning it the list of numbers literally
이 문제를 어떻게 푸는지 아세요?
감사합니다!
df.insert(0, 'New_ID', range(880, 880 + len(df)))
df
여기:
df = df.reset_index()
df = df.rename(columns={"index":"New_ID"})
df['New_ID'] = df.index + 880
데이터 프레임과 길이가 같은 id 값의 목록으로 간단히 팬더 열을 설정할 수도 있습니다.
df['New_ID'] = range(880, 880+len(df))
참조 문서 : https://pandas.pydata.org/pandas-docs/stable/missing_data.html
df = df.assign(New_ID=[880 + i for i in xrange(len(df))])[['New_ID'] + df.columns.tolist()]
>>> df
New_ID ID Fruit
0 880 F1 Apple
1 881 F2 Orange
2 882 F3 Banana
다음 코드를 사용했습니다.
df.insert(0, 'id', range(1, 1 + len(df)))
그래서 나의 id열은 다음과 같습니다.
1, 2, 3, ...
인덱스가 0에서 시작하여 1(즉, 기본값)씩 증가하는 팬더 DataFrame의 경우 다음 작업을 수행할 수 있습니다.
df.insert(0, 'New_ID', df.index + 880)
네가 원한다면New_ID
첫 번째 칸이 될 겁니다그렇지 않으면 마지막에 있어도 상관없다면 다음과 같이 하십시오.
df['New_ID'] = df.index + 880
import numpy as np
df['New_ID']=np.arange(880,880+len(df.Fruit))
df=df.reindex(columns=['New_ID','ID','Fruit'])
체인식이 길고 값이 증가하는 열을 추가하고자 하지만 데이터 프레임의 길이(일부 체인식이 그룹 또는 집계이기 때문에)를 모르는 경우 다음을 사용하여 이 작업을 수행할 수도 있습니다.assign()
그리고.lambda
df.assign(New_ID = lambda x: range(880, 880 + len(x))
언급URL : https://stackoverflow.com/questions/38862293/how-to-add-incremental-numbers-to-a-new-column-using-pandas
반응형
'programing' 카테고리의 다른 글
레일 데이터베이스 연결 풀 작동 방식 (0) | 2023.10.27 |
---|---|
자바스크립트 청취자, "키 누름"은 백스페이스를 감지하지 못합니까? (0) | 2023.10.27 |
동일한 표에 있는 다른 두 열의 연접 관계로 열을 업데이트하는 방법 (0) | 2023.10.27 |
jquery datable의 ajax call에서 매개변수를 게시하는 방법 (0) | 2023.10.27 |
mysql-client를 사용하여 따옴표 '를 mariaDB에 삽입하는 방법은? (0) | 2023.10.27 |