source

기존 DataFrame에 새 열을 추가하려면 어떻게 해야 합니까?

factcode 2022. 9. 29. 00:10
반응형

기존 DataFrame에 새 열을 추가하려면 어떻게 해야 합니까?

다음과 같은 인덱스 DataFrame에 연속되지 않은 열과 행이 지정되었습니다.

          a         b         c         d
2  0.671399  0.101208 -0.181532  0.241273
3  0.446172 -0.243316  0.051767  1.577318
5  0.614758  0.075793 -0.451460 -0.012493

칼럼을 하겠습니다.'e'기존 데이터 프레임에 적용되며 데이터 프레임의 아무것도 변경하지 않습니다(즉, 새 컬럼의 길이는 항상 DataFrame과 동일합니다).

0   -0.335485
1   -1.166658
2   -0.385571
dtype: float64

해야 요?e의의예 와와?

2017년 편집

코멘트 및 @Alexander에서 알 수 있듯이 현재 DataFrame의 새 열로 Series 값을 추가하는 가장 좋은 방법은 다음과 같습니다.

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

편집 ★★★
에서는 ""를 되었습니다.SettingWithCopyWarning이 코드와 함께.
「」, 「」, 「」의 0.16.1번으로 하다

>>> sLength = len(df1['a'])
>>> df1
          a         b         c         d
6 -0.269221 -0.026476  0.997517  1.294385
8  0.917438  0.847941  0.034235 -0.448948

>>> df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
>>> df1
          a         b         c         d         e
6 -0.269221 -0.026476  0.997517  1.294385  1.757167
8  0.917438  0.847941  0.034235 -0.448948  2.228131

>>> pd.version.short_version
'0.16.1'

SettingWithCopyWarning는, 데이터 프레임의 카피로 무효인 할당을 통지하는 것을 목적으로 하고 있습니다.반드시 잘못했다고는 할 수 없지만(false positive를 트리거할 수 있음) 0.13.0부터는 동일한 목적을 위한 보다 적절한 방법이 있음을 알 수 있습니다.그런 다음 경고를 받으면 해당 경고를 따르십시오.대신 .loc[row_index,col_dex] = 값을 사용해 보십시오.

>>> df1.loc[:,'f'] = pd.Series(np.random.randn(sLength), index=df1.index)
>>> df1
          a         b         c         d         e         f
6 -0.269221 -0.026476  0.997517  1.294385  1.757167 -0.050927
8  0.917438  0.847941  0.034235 -0.448948  2.228131  0.006109
>>> 

사실, 이것은 현재 판다의 문서에서 설명한 바와 같이 더 효율적인 방법이다.


원답:

원래 df1 인덱스를 사용하여 시리즈를 만듭니다.

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)

열을할 수 .df['e'] = e

기존 데이터 프레임에 새로운 열 'e'를 추가하고 데이터 프레임에 아무것도 변경하지 않고 싶습니다.(시리즈의 길이는 항상 데이터 프레임과 동일합니다).

in in i i 、 음 、 음 、 i 、 i 、 i 、 i 、 i 、 i i i 。e 필적하다df1.

e해 주세요.e:

df['e'] = e.values

할당(Pandas 0.16.0+)

Panda 0.16.0부터는 DataFrame에 새 열을 할당하고 새 열뿐만 아니라 모든 원래 열과 함께 새 개체(복사본)를 반환하는 를 사용할 수도 있습니다.

df1 = df1.assign(e=e.values)

예에 따라 (이 예에는 의 소스 코드도 포함됩니다)assignfunction은 여러 컬럼을 포함할 수도 .

df = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
>>> df.assign(mean_a=df.a.mean(), mean_b=df.b.mean())
   a  b  mean_a  mean_b
0  1  3     1.5     3.5
1  2  4     1.5     3.5

이 예와 관련하여:

np.random.seed(0)
df1 = pd.DataFrame(np.random.randn(10, 4), columns=['a', 'b', 'c', 'd'])
mask = df1.applymap(lambda x: x <-0.7)
df1 = df1[-mask.any(axis=1)]
sLength = len(df1['a'])
e = pd.Series(np.random.randn(sLength))

>>> df1
          a         b         c         d
0  1.764052  0.400157  0.978738  2.240893
2 -0.103219  0.410599  0.144044  1.454274
3  0.761038  0.121675  0.443863  0.333674
7  1.532779  1.469359  0.154947  0.378163
9  1.230291  1.202380 -0.387327 -0.302303

>>> e
0   -1.048553
1   -1.420018
2   -1.706270
3    1.950775
4   -0.509652
dtype: float64

df1 = df1.assign(e=e.values)

>>> df1
          a         b         c         d         e
0  1.764052  0.400157  0.978738  2.240893 -1.048553
2 -0.103219  0.410599  0.144044  1.454274 -1.420018
3  0.761038  0.121675  0.443863  0.333674 -1.706270
7  1.532779  1.469359  0.154947  0.378163  1.950775
9  1.230291  1.202380 -0.387327 -0.302303 -0.509652

이 신기능이 처음 도입되었을 때의 설명에 대해서는, 여기를 참조해 주세요.

매우 간단한 열 할당

팬더 데이터 프레임은 컬럼의 명령어로서 구현됩니다.

은, 「」, 「」가, 「」가__getitem__ []컬럼을 할 수 있는 것이 , 「」를 취득할 수 .__setitem__ [] =를 사용하여 새 열을 할당할 수 있습니다.

를 들어,이 '열', '열', '열', '열'을할 수 .[]

    size      name color
0    big      rose   red
1  small    violet  blue
2  small     tulip   red
3  small  harebell  blue

df['protected'] = ['no', 'no', 'no', 'yes']

    size      name color protected
0    big      rose   red        no
1  small    violet  blue        no
2  small     tulip   red        no
3  small  harebell  blue       yes

이 기능은 데이터 프레임의 인덱스가 꺼진 경우에도 작동합니다.

df.index = [3,2,1,0]
df['protected'] = ['no', 'no', 'no', 'yes']
    size      name color protected
3    big      rose   red        no
2  small    violet  blue        no
1  small     tulip   red        no
0  small  harebell  blue       yes

[]=가 최고입니다만, 조심하세요!

''가 pd.Series인덱스가 꺼진 데이터 프레임에 할당하려고 하면 문제가 발생합니다.예를 참조해 주세요.

df['protected'] = pd.Series(['no', 'no', 'no', 'yes'])
    size      name color protected
3    big      rose   red       yes
2  small    violet  blue        no
1  small     tulip   red        no
0  small  harebell  blue        no

은, 「」가pd.Series디폴트로는 0 ~n 의 인덱스가 열거되어 있습니다. 판다들은[] = method triesto 'smart"

실제로 무슨 일이 일어나고 있는지.

「 」를하는 [] =방법 판다는 왼쪽 데이터 프레임의 인덱스와 오른쪽 시리즈의 인덱스를 사용하여 조용히 바깥쪽 결합 또는 바깥쪽 결합을 수행합니다. df['column'] = series

사이드 노트

은 곧 . 부조화 때문이다.[]=방법은 입력에 따라 많은 것을 시도하며, 판다가 어떻게 작동하는지 알지 못하면 결과를 예측할 수 없습니다.그러므로 나는 에 반대해서 충고할 것이다.[]=하지만 노트북의 데이터를 탐색할 때는 문제가 없습니다.

문제를 회피하다

「 」가 pd.Series위에서 아래로 할당하기를 원하거나 생산적인 코드를 코딩하고 있고 인덱스 순서를 잘 모를 경우 이러한 문제에 대해 보호하는 것이 좋습니다.

할 수 요.pd.Series a까지np.ndarray ★★★list이게 효과가 있을 거야

df['protected'] = pd.Series(['no', 'no', 'no', 'yes']).values

또는

df['protected'] = list(pd.Series(['no', 'no', 'no', 'yes']))

하지만 이것은 매우 명확하지 않다.

어떤 코더가 나타나서 "이거 중복되는 것 같은데, 최적화해서 없애자"고 말할 수도 있습니다.

명시적 방법

pd.Seriesdf시적입입니니다

df['protected'] = pd.Series(['no', 'no', 'no', 'yes'], index=df.index)

더 으로 말하면, '가 있을 입니다.pd.Series이미 사용 가능합니다.

protected_series = pd.Series(['no', 'no', 'no', 'yes'])
protected_series.index = df.index

3     no
2     no
1     no
0    yes

이제 할당할 수 있습니다.

df['protected'] = protected_series

    size      name color protected
3    big      rose   red        no
2  small    violet  blue        no
1  small     tulip   red        no
0  small  harebell  blue       yes

다른 방법df.reset_index()

인덱스의 부조화가 문제이므로 데이터 프레임의 인덱스에 의해 지시되지 않아야 한다고 생각되면 인덱스를 드롭하기만 하면 됩니다.이것은 고속이 됩니다만, 현재는 기능이 2가지 기능을 하고 있기 때문에 그다지 깨끗하지 않습니다.

df.reset_index(drop=True)
protected_series.reset_index(drop=True)
df['protected'] = protected_series

    size      name color protected
0    big      rose   red        no
1  small    violet  blue        no
2  small     tulip   red        no
3  small  harebell  blue       yes

★★★★★★★★★★★df.assign

한편, 「 」는, 「 」, 「 」의 사이에df.assign있는 을 좀 더 , 가 다 .[]=

df.assign(protected=pd.Series(['no', 'no', 'no', 'yes']))
    size      name color protected
3    big      rose   red       yes
2  small    violet  blue        no
1  small     tulip   red        no
0  small  harebell  blue        no

조심해요.df.assign이 '아예'라고 불리지 않는 것self에러가 발생합니다. 하면 렇렇이 됩니다.df.assign 이런 종류의 아티팩트가 함수에 있기 때문에 냄새가 나요.

df.assign(self=pd.Series(['no', 'no', 'no', 'yes'])
TypeError: assign() got multiple values for keyword argument 'self'

안 할 도 있어요 '아, 아, 아,아...self그러나 향후 이 기능이 새로운 주장을 뒷받침하기 위해 어떻게 변화할지는 누가 알 수 없다.아마도 당신의 칼럼 이름은 판다의 새로운 업데이트에서 논쟁거리가 되어 업그레이드에 문제를 일으킬 것입니다.

최근 판다 버전에서는 df.assign을 사용하는 방법이 있는 것 같습니다.

df1 = df1.assign(e=np.random.randn(sLength))

되지 않는다.SettingWithCopyWarning.

NumPy를 통해 직접 실행하는 것이 가장 효율적입니다.

df1['e'] = np.random.randn(sLength)

(매우 오래된) 원래 제안은map 느리다 (이것보다 훨씬 느리다)

df1['e'] = df1['a'].map(lambda x: np.random.random())

가장 쉬운 방법:-

data['new_col'] = list_of_values

data.loc[ : , 'new_col'] = list_of_values

이렇게 하면 판다 개체에서 새 값을 설정할 때 연쇄 색인이라고 하는 것을 피할 수 있습니다.자세한 내용을 보려면 여기를 클릭하십시오.

하는 경우( " " " " " " " " " " " " " " " " ( ) :None할 수 df1['e'] = None

이렇게 하면 실제로 셀에 "객체" 유형이 할당됩니다.따라서 나중에 목록과 같은 복잡한 데이터 유형을 개별 셀에 자유롭게 넣을 수 있습니다.

에 질렸다SettingWithCopyWarning구문을 My Data Frame odbc ODBC read_sql 。을 사용하여할 수 있었습니다.

df.insert(len(df.columns), 'e', pd.Series(np.random.randn(sLength),  index=df.index))

이렇게 하면 끝에 기둥을 삽입할 수 있습니다.그게 가장 효과적인지는 모르겠지만, 경고 메시지는 좋아하지 않아요.더 좋은 해결책이 있다고 생각하지만 찾을 수가 없고 지수의 어떤 측면에 따라 다르다고 생각합니다.
참고. 이 작업은 한 번만 작동하며 기존 열을 덮어쓰려고 하면 오류 메시지가 표시됩니다.
참고 위와 0.16.0 이후로는 할당이 최선의 해결책입니다.설명서 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html#pandas.DataFrame.assign 중간 값을 덮어쓰지 않는 데이터 흐름 유형에 대해서는 잘 작동합니다.

  1. 의 비단뱀을 list_of_e관련 데이터를 가지고 있습니다.
  2. df['e'] = list_of_e

빈 열을 작성하려면

df['i'] = None

추가하려는 열이 직렬 변수인 경우 다음을 수행합니다.

df["new_columns_name"]=series_variable_name #this will do it for you

이는 기존 열을 교체하는 경우에도 잘 작동합니다.바꿀 컬럼과 같은 new_module_name을 입력하기만 하면 됩니다.기존 열 데이터를 새 영상 시리즈 데이터로 덮어씁니다.

데이터 프레임과 Series 객체의 인덱스가 동일한 경우pandas.concat여기서도 동작합니다.

import pandas as pd
df
#          a            b           c           d
#0  0.671399     0.101208   -0.181532    0.241273
#1  0.446172    -0.243316    0.051767    1.577318
#2  0.614758     0.075793   -0.451460   -0.012493

e = pd.Series([-0.335485, -1.166658, -0.385571])    
e
#0   -0.335485
#1   -1.166658
#2   -0.385571
#dtype: float64

# here we need to give the series object a name which converts to the new  column name 
# in the result
df = pd.concat([df, e.rename("e")], axis=1)
df

#          a            b           c           d           e
#0  0.671399     0.101208   -0.181532    0.241273   -0.335485
#1  0.446172    -0.243316    0.051767    1.577318   -1.166658
#2  0.614758     0.075793   -0.451460   -0.012493   -0.385571

동일한 인덱스가 없는 경우:

e.index = df.index
df = pd.concat([df, e.rename("e")], axis=1)

Fullproof:

df.loc[:, 'NewCol'] = 'New_Val'

예제:

df = pd.DataFrame(data=np.random.randn(20, 4), columns=['A', 'B', 'C', 'D'])

df

           A         B         C         D
0  -0.761269  0.477348  1.170614  0.752714
1   1.217250 -0.930860 -0.769324 -0.408642
2  -0.619679 -1.227659 -0.259135  1.700294
3  -0.147354  0.778707  0.479145  2.284143
4  -0.529529  0.000571  0.913779  1.395894
5   2.592400  0.637253  1.441096 -0.631468
6   0.757178  0.240012 -0.553820  1.177202
7  -0.986128 -1.313843  0.788589 -0.707836
8   0.606985 -2.232903 -1.358107 -2.855494
9  -0.692013  0.671866  1.179466 -1.180351
10 -1.093707 -0.530600  0.182926 -1.296494
11 -0.143273 -0.503199 -1.328728  0.610552
12 -0.923110 -1.365890 -1.366202 -1.185999
13 -2.026832  0.273593 -0.440426 -0.627423
14 -0.054503 -0.788866 -0.228088 -0.404783
15  0.955298 -1.430019  1.434071 -0.088215
16 -0.227946  0.047462  0.373573 -0.111675
17  1.627912  0.043611  1.743403 -0.012714
18  0.693458  0.144327  0.329500 -0.655045
19  0.104425  0.037412  0.450598 -0.923387


df.drop([3, 5, 8, 10, 18], inplace=True)

df

           A         B         C         D
0  -0.761269  0.477348  1.170614  0.752714
1   1.217250 -0.930860 -0.769324 -0.408642
2  -0.619679 -1.227659 -0.259135  1.700294
4  -0.529529  0.000571  0.913779  1.395894
6   0.757178  0.240012 -0.553820  1.177202
7  -0.986128 -1.313843  0.788589 -0.707836
9  -0.692013  0.671866  1.179466 -1.180351
11 -0.143273 -0.503199 -1.328728  0.610552
12 -0.923110 -1.365890 -1.366202 -1.185999
13 -2.026832  0.273593 -0.440426 -0.627423
14 -0.054503 -0.788866 -0.228088 -0.404783
15  0.955298 -1.430019  1.434071 -0.088215
16 -0.227946  0.047462  0.373573 -0.111675
17  1.627912  0.043611  1.743403 -0.012714
19  0.104425  0.037412  0.450598 -0.923387

df.loc[:, 'NewCol'] = 0

df
           A         B         C         D  NewCol
0  -0.761269  0.477348  1.170614  0.752714       0
1   1.217250 -0.930860 -0.769324 -0.408642       0
2  -0.619679 -1.227659 -0.259135  1.700294       0
4  -0.529529  0.000571  0.913779  1.395894       0
6   0.757178  0.240012 -0.553820  1.177202       0
7  -0.986128 -1.313843  0.788589 -0.707836       0
9  -0.692013  0.671866  1.179466 -1.180351       0
11 -0.143273 -0.503199 -1.328728  0.610552       0
12 -0.923110 -1.365890 -1.366202 -1.185999       0
13 -2.026832  0.273593 -0.440426 -0.627423       0
14 -0.054503 -0.788866 -0.228088 -0.404783       0
15  0.955298 -1.430019  1.434071 -0.088215       0
16 -0.227946  0.047462  0.373573 -0.111675       0
17  1.627912  0.043611  1.743403 -0.012714       0
19  0.104425  0.037412  0.450598 -0.923387       0

하지만 한 가지 주의할 점은, 만약 그렇게 한다면

df1['e'] = Series(np.random.randn(sLength), index=df1.index)

이는 사실상 df1.index의 왼쪽 결합이 됩니다.외부 결합 효과를 얻고 싶다면, 아마도 불완전한 해결책은 데이터 공간을 포괄하는 인덱스 값을 가진 데이터 프레임을 만들고 위의 코드를 사용하는 것입니다.예를들면,

data = pd.DataFrame(index=all_possible_values)
df1['e'] = Series(np.random.randn(sLength), index=df1.index)

데이터 프레임의 지정된 위치(0 <= loc <= 열의 양)에 새 열을 삽입하려면 Dataframe.insert를 사용하십시오.

DataFrame.insert(loc, column, value)

따라서 df라는 이름의 데이터 프레임 끝에 e컬럼을 추가할 경우 다음을 사용할 수 있습니다.

e = [-0.335485, -1.166658, -0.385571]    
DataFrame.insert(loc=len(df.columns), column='e', value=e)

value는 Series, 정수(이 경우 모든 셀이 이 하나의 값으로 채워짐) 또는 배열과 같은 구조일 수 있습니다.

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.insert.html

이거 하나 덧붙이자면요. Hum3처럼..locSettingWithCopyWarning그리고 나는 의지해야 했다.df.insert() 가짜 인덱스에 의해 dict['a']['e']서, snowledge.'e'새로운 컬럼입니다.dict['a']는 사전에서 가져온 데이터 프레임입니다.

무엇을 있는 할 수 있습니다.pd.options.mode.chained_assignment = None여기에 제시된 솔루션 중 하나를 사용하는 것이 좋습니다.

인덱스 데이터가 있는 경우 새 열을 할당하기 전에 인덱스를 정렬해야 합니다.적어도 내 경우에는 다음을 해야 했다.

data.set_index(['index_column'], inplace=True)
"if index is unsorted, assignment of a new column will fail"        
data.sort_index(inplace = True)
data.loc['index_value1', 'column_y'] = np.random.randn(data.loc['index_value1', 'column_x'].shape[0])

기존 데이터 프레임에 새 열 'e'를 추가하려면

 df1.loc[:,'e'] = Series(np.random.randn(sLength))

요.numpy.nan합니다.SettingWithCopyWarning.

다음 내용부터:

내가 생각해낸 건 이거야

col = 'column_name'
df = df.assign(**{col:numpy.full(len(df), numpy.nan)})

완전성을 위해 DataFrame.eval() 메서드를 사용하는 다른 솔루션:

데이터:

In [44]: e
Out[44]:
0    1.225506
1   -1.033944
2   -0.498953
3   -0.373332
4    0.615030
5   -0.622436
dtype: float64

In [45]: df1
Out[45]:
          a         b         c         d
0 -0.634222 -0.103264  0.745069  0.801288
4  0.782387 -0.090279  0.757662 -0.602408
5 -0.117456  2.124496  1.057301  0.765466
7  0.767532  0.104304 -0.586850  1.051297
8 -0.103272  0.958334  1.163092  1.182315
9 -0.616254  0.296678 -0.112027  0.679112

솔루션:

In [46]: df1.eval("e = @e.values", inplace=True)

In [47]: df1
Out[47]:
          a         b         c         d         e
0 -0.634222 -0.103264  0.745069  0.801288  1.225506
4  0.782387 -0.090279  0.757662 -0.602408 -1.033944
5 -0.117456  2.124496  1.057301  0.765466 -0.498953
7  0.767532  0.104304 -0.586850  1.051297 -0.373332
8 -0.103272  0.958334  1.163092  1.182315  0.615030
9 -0.616254  0.296678 -0.112027  0.679112 -0.622436

빈 열을 새로 작성해야 하는 경우 가장 짧은 해결책은 다음과 같습니다.

df.loc[:, 'e'] = pd.Series()

내가 한 일은 다음과 같다.하지만 저는 팬더나 파이톤은 처음이라서 약속할 수 없어요.

df = pd.DataFrame([[1, 2], [3, 4], [5,6]], columns=list('AB'))

newCol = [3,5,7]
newName = 'C'

values = np.insert(df.values,df.shape[1],newCol,axis=1)
header = df.columns.values.tolist()
header.append(newName)

df = pd.DataFrame(values,columns=header)

df의 새 열의 모든 행에 스케일러 값(예: 10)을 할당하는 경우:

df = df.assign(new_col=lambda x:10)  # x is each row passed in to the lambda func

df의 모든 행에 value=10의 새 열 'new_col'이 표시됩니다.

SettingWithCopyWarning간단한 수정은 열을 추가하려는 데이터 프레임을 복사하는 것입니다.

df = df.copy()
df['col_name'] = values
x=pd.DataFrame([1,2,3,4,5])

y=pd.DataFrame([5,4,3,2,1])

z=pd.concat([x,y],axis=1)

여기에 이미지 설명 입력

이것은 판다의 데이터 프레임에 새로운 컬럼을 추가하는 특별한 경우입니다.여기에서는 데이터 프레임의 기존 컬럼 데이터를 바탕으로 새로운 피쳐/컬럼을 추가합니다.

따라서 dataFrame에 'feature_1', 'feature_2', 'probability_score' 열이 있다고 가정하고 'probability_score' 열의 데이터를 기반으로 new_column 'predicted_class' 열을 추가해야 합니다.

python에서 map() 함수를 사용하고 특정 class_label을 dataFrame의 모든 행에 부여하는 로직을 구현하는 자체 함수를 정의합니다.

data = pd.read_csv('data.csv')

def myFunction(x):
   //implement your logic here

   if so and so:
        return a
   return b

variable_1 = data['probability_score']
predicted_class = variable_1.map(myFunction)

data['predicted_class'] = predicted_class

// check dataFrame, new column is included based on an existing column data for each row
data.head()
import pandas as pd

# Define a dictionary containing data
data = {'a': [0,0,0.671399,0.446172,0,0.614758],
    'b': [0,0,0.101208,-0.243316,0,0.075793],
    'c': [0,0,-0.181532,0.051767,0,-0.451460],
    'd': [0,0,0.241273,1.577318,0,-0.012493]}

# Convert the dictionary into DataFrame
df = pd.DataFrame(data)

# Declare a list that is to be converted into a column
col_e = [-0.335485,-1.166658,-0.385571,0,0,0]


df['e'] = col_e

# add column 'e'
df['e'] = col_e

# Observe the result
df

부호화

Series 객체를 기존 DF에 새 열로 추가할 때마다 두 개의 인덱스가 동일한지 확인해야 합니다.그런 다음 DF에 추가합니다.

e_series = pd.Series([-0.335485, -1.166658,-0.385571])
print(e_series)
e_series.index = d_f.index
d_f['e'] = e_series
d_f

여기에 이미지 설명 입력

다음과 같이 루프에 대해 새 열을 삽입할 수 있습니다.

for label,row in your_dframe.iterrows():
      your_dframe.loc[label,"new_column_length"]=len(row["any_of_column_in_your_dframe"])

샘플 코드는 다음과 같습니다.

import pandas as pd

data = {
  "any_of_column_in_your_dframe" : ["ersingulbahar","yagiz","TS"],
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}

#load data into a DataFrame object:
your_dframe = pd.DataFrame(data)


for label,row in your_dframe.iterrows():
      your_dframe.loc[label,"new_column_length"]=len(row["any_of_column_in_your_dframe"])
      
      
print(your_dframe) 

출력은 다음과 같습니다.

any_of_column_in_your_dframe 칼로리 지속 new_column_length
얼싱글바하르 420 50 13.0
야기즈 380 40 5.0
TS 390 45 2.0

아니요: 다음과 같이 사용할 수도 있습니다.

your_dframe["new_column_length"]=your_dframe["any_of_column_in_your_dframe"].apply(len)

언급URL : https://stackoverflow.com/questions/12555323/how-to-add-a-new-column-to-an-existing-dataframe

반응형