일정한 값으로 데이터 프레임에 열 추가
모든 행에 대해 동일한 값을 포함하는 열을 추가해야 하는 기존 데이터 프레임이 있습니다.
기존 df:
Date, Open, High, Low, Close
01-01-2015, 565, 600, 400, 450
새로운 df:
Name, Date, Open, High, Low, Close
abc, 01-01-2015, 565, 600, 400, 450
기존 시리즈/데이터프레임 열을 추가하는 방법을 알고 있습니다.그러나 이것은 다른 상황입니다. 왜냐하면 '이름' 열을 추가하고 모든 행을 동일한 값으로 설정하기만 하면 되기 때문입니다(이 경우 'abc').
df['Name']='abc'는 새 열을 추가하고 모든 행을 이 값으로 설정합니다.
In [79]:
df
Out[79]:
Date, Open, High, Low, Close
0 01-01-2015, 565, 600, 400, 450
In [80]:
df['Name'] = 'abc'
df
Out[80]:
Date, Open, High, Low, Close Name
0 01-01-2015, 565, 600, 400, 450 abc
를 사용하여 새 열을 지정할 수 있습니다.이 경우, 저는0새 컬럼을 왼쪽에 배치합니다.
df.insert(0, 'Name', 'abc')
Name Date Open High Low Close
0 abc 01-01-2015 565 600 400 450
다른 사람이 제안한 내용을 요약하고, 세 번째 방법을 추가합니다.
다음과 같은 작업을 수행할 수 있습니다.
-
df.assign(Name='abc') 새 열 영상 시리즈에 액세스하여 설정합니다(작성됩니다).
df['Name'] = 'abc'insert(loc, column, value, allow_duplicates=False)
df.insert(0, 'Name', 'abc')
여기서 인수 loc ( 0 <= loc <= len (len (param)))를 사용하면 원하는 위치에 열을 삽입할 수 있습니다.
'loc'는 삽입 후 열이 위치할 인덱스를 제공합니다.예를 들어, 위의 코드는 이름 열을 0번째 열로 삽입합니다. 즉, 첫 번째 열 앞에 삽입되어 새 첫 번째 열이 됩니다. (인덱싱은 0부터 시작합니다.)
이 모든 방법을 사용하면 Series에서 새 열을 추가할 수도 있습니다(위의 'abc' default 인수를 Series로 대체하기만 하면 됩니다).
단일 라이너 작동
df['Name'] = 'abc'
를 만듭니다.Name모든 행을 다음과 같이 설정합니다.abc가치
나는 @michele-piccolini의 대답 중 일부를 더 주목하고 싶다.
라고 굳게 믿고 있습니다..assign가장 좋은 해결책입니다.실제로 이러한 운영은 격리되어 있는 것이 아니라 일련의 운영으로 이루어집니다.또, 운용 체인을 서포트하는 경우는, 아마,.assign방법.
다음은 스키 리조트의 적설량 데이터를 사용하는 예입니다(단, 같은 원리가 적용되어 다음과 같습니다).(재무 데이터)
이 코드는 스텝의 레시피처럼 읽힌다.둘 다 할당(포함)=)와.insert더 어렵게 만들어요.
raw = pd.read_csv('https://github.com/mattharrison/datasets/raw/master/data/alta-noaa-1980-2019.csv',
parse_dates=['DATE'])
def clean_alta(df):
return (df
.loc[:, ['STATION', 'NAME', 'LATITUDE', 'LONGITUDE', 'ELEVATION', 'DATE',
'PRCP', 'SNOW', 'SNWD', 'TMAX', 'TMIN', 'TOBS']]
.groupby(pd.Grouper(key='DATE', freq='W'))
.agg({'PRCP': 'sum', 'TMAX': 'max', 'TMIN': 'min', 'SNOW': 'sum', 'SNWD': 'mean'})
.assign(LOCATION='Alta',
T_RANGE=lambda w_df: w_df.TMAX-w_df.TMIN)
)
clean_alta(raw)
회선에 주의해 주세요..assign(LOCATION='Alta', 나머지 작업 중간에 단일 값이 포함된 열을 생성합니다.
원 라인이 날 위해 일을 해줬어.
df['New Column'] = 'Constant Value'
df['New Column'] = 123
간단히 다음 작업을 수행할 수 있습니다.
df['New Col'] = pd.Series(["abc" for x in range(len(df.index))])
언급URL : https://stackoverflow.com/questions/29517072/add-column-to-dataframe-with-constant-value
'source' 카테고리의 다른 글
| Response:: download를 사용하여 파일 다운로드 (0) | 2022.10.23 |
|---|---|
| Mysql (MariaDB 10.0.29) :루트 패스워드를 설정해도 패스워드를 묻지 않고 로그인할 수 있습니까? (0) | 2022.10.23 |
| pip의 --no-cache-dir는 어떤 장점이 있습니까? (0) | 2022.10.23 |
| 모달 열 때 BODY 스크롤 방지 (0) | 2022.10.23 |
| IBM PASE에 MariaDB용 ODBC 드라이버가 있습니까? (0) | 2022.10.23 |