vDataFrame.apply

In [ ]:
vDataFrame.apply(func: dict)

Applies each function of the dictionary to the input vcolumns.

Parameters

Name Type Optional Description
func
dict
❌
Dictionary of functions. The dictionary must be like the following: {column1: func1, ..., columnk: funck}. Each function variable must be composed of two flower brackets {}. For example to apply the function: x -> x^2 + 2 use "POWER({}, 2) + 2".

Returns

vDataFrame : self

Example

In [110]:
from verticapy.datasets import load_titanic
titanic = load_titanic()
display(titanic)
123
fare
Numeric(10,5)
123
survived
Int
Abc
sex
Varchar(20)
Abc
boat
Varchar(100)
123
pclass
Int
123
age
Numeric(6,3)
Abc
ticket
Varchar(36)
Abc
Varchar(164)
Abc
embarked
Varchar(20)
Abc
cabin
Varchar(30)
123
body
Int
123
parch
Int
Abc
home.dest
Varchar(100)
123
sibsp
Int
1151.550000female[null]12.000113781SC22 C26[null]2Montreal, PQ / Chesterville, ON1
2151.550000male[null]130.000113781SC22 C261352Montreal, PQ / Chesterville, ON1
3151.550000female[null]125.000113781SC22 C26[null]2Montreal, PQ / Chesterville, ON1
40.000000male[null]139.000112050SA36[null]0Belfast, NI0
549.504200male[null]171.000PC 17609C[null]220Montevideo, Uruguay0
6227.525000male[null]147.000PC 17757CC62 C641240New York, NY1
725.925000male[null]1[null]PC 17318S[null][null]0New York, NY0
8247.520800male[null]124.000PC 17558CB58 B60[null]1Montreal, PQ0
975.241700maleA136.00013050CC6[null]0Winnipeg, MN0
1026.000000male[null]125.00013905C[null]1480San Francisco, CA0
1135.500000male[null]145.000113784ST[null]0Trenton, NJ0
1226.550000male[null]142.000110489SD22[null]0London / Winnipeg, MB0
1330.500000male[null]141.000113054SA21[null]0Pomeroy, WA0
1450.495800male[null]148.000PC 17591CB102080Omaha, NE0
1539.600000male[null]1[null]112379C[null][null]0Philadelphia, PA0
1626.550000male[null]145.000113050SB38[null]0Washington, DC0
1731.000000male[null]1[null]113798S[null][null]0[null]0
185.000000male[null]133.000695SB51 B53 B55[null]0New York, NY0
1947.100000male[null]128.000113059S[null][null]0Montevideo, Uruguay0
2047.100000male[null]117.000113059S[null][null]0Montevideo, Uruguay0
2126.000000male[null]149.00019924S[null][null]0Ascot, Berkshire / Rochester, NY0
2278.850000male[null]136.00019877SC461720Little Onn Hall, Staffs1
2361.175000male[null]146.000W.E.P. 5734SE31[null]0Amenia, ND1
240.000000male[null]1[null]112051S[null][null]0Liverpool, England / Belfast0
25136.779200male[null]127.00013508CC89[null]0Los Angeles, CA1
2652.000000male[null]1[null]110465SA14[null]0Stoughton, MA0
2725.587500male[null]147.0005727SE58[null]0Victoria, BC0
2883.158300male[null]137.000PC 17756CE52[null]1Lakewood, NJ1
2926.550000male[null]1[null]113791S[null][null]0Roachdale, IN0
3071.000000male[null]170.000WE/P 5735SB222691Milwaukee, WI1
3171.283300male[null]139.000PC 17599CC85[null]0New York, NY1
3252.000000male[null]131.000F.C. 12750SB71[null]0Montreal, PQ1
33106.425000male[null]150.000PC 17761CC86620Deephaven, MN / Cedar Rapids, IA1
3429.700000male[null]139.000PC 17580CA181330Philadelphia, PA0
3531.679200female[null]136.000PC 17531CA29[null]0New York, NY0
36221.779200male[null]1[null]PC 17483SC95[null]0[null]0
3727.750000male[null]130.000113051CC111[null]0New York, NY0
38263.000000male[null]119.00019950SC23 C25 C27[null]2Winnipeg, MB3
39263.000000male[null]164.00019950SC23 C25 C27[null]4Winnipeg, MB1
4026.550000male[null]1[null]113778SD34[null]0Westcliff-on-Sea, Essex0
410.000000male[null]1[null]112058SB102[null]0[null]0
4253.100000male[null]137.000113803SC123[null]0Scituate, MA1
4338.500000male[null]147.000111320SE632750St Anne's-on-Sea, Lancashire0
4479.200000male[null]124.000PC 17593CB86[null]0[null]0
4534.654200male[null]171.000PC 17754CA5[null]0New York, NY0
46153.462500male[null]138.000PC 17582SC911471Winnipeg, MB0
4779.200000male[null]146.000PC 17593CB82 B84[null]0New York, NY0
4842.400000male[null]1[null]113796S[null][null]0[null]0
4983.475000male[null]145.00036973SC83[null]0New York, NY1
500.000000male[null]140.000112059SB941100[null]0
5193.500000male[null]155.00012749SB693071Montreal, PQ1
5242.500000male[null]142.000113038SB11[null]0London / Middlesex0
5351.862500male[null]1[null]17463SE46[null]0Brighton, MA0
5450.000000male[null]155.000680SC39[null]0London / Birmingham0
5552.000000male[null]142.000113789S[null]380New York, NY1
5630.695800male141[null]PC 17600C[null][null]0New York, NY0
5728.712500female[null]150.000PC 17595CC49[null]0Paris, France New York, NY0
5826.000000male[null]146.000694S[null]800Bennington, VT0
5926.000000male[null]150.000113044SE60[null]0London0
60211.500000male[null]132.500113503CC132450[null]0
6129.700000male[null]158.00011771CB372580Buffalo, NY0
6251.862500male[null]141.00017464SD21[null]0Southington / Noank, CT1
6326.550000male[null]1[null]113028SC124[null]0Portland, OR0
6427.720800male[null]1[null]PC 17612C[null][null]0Chicago, IL0
6530.000000male[null]129.000113501SD61260Springfield, MA0
6645.500000male[null]130.000113801S[null][null]0London / New York, NY0
6726.000000male[null]130.000110469SC106[null]0Brockton, MA0
6853.100000male[null]119.000113773SD30[null]0New York, NY1
6975.241700male[null]146.00013050CC62920Vancouver, BC0
7051.862500male[null]154.00017463SE461750Dorchester, MA0
7182.170800male[null]128.000PC 17604C[null][null]0New York, NY1
7226.550000male[null]165.00013509SE382490East Bridgewater, MA0
7390.000000male[null]144.00019928QC782300Fond du Lac, WI2
7430.500000male[null]155.000113787SC30[null]0Montreal, PQ0
7542.400000male[null]147.000113796S[null][null]0Washington, DC0
7629.700000male[null]137.000PC 17596CC118[null]1Brooklyn, NY0
77113.275000male[null]158.00035273CD481222Lexington, MA0
7826.000000male[null]164.000693S[null]2630Isle of Wight, England0
7961.979200male[null]165.000113509CB302341Providence, RI0
8027.720800male[null]128.500PC 17562CD431890?Havana, Cuba0
810.000000male[null]1[null]112052S[null][null]0Belfast0
8228.500000male[null]145.500113043SC1241660Surbiton Hill, Surrey0
8393.500000male[null]123.00012749SB24[null]0Montreal, PQ0
8466.600000male[null]129.000113776SC2[null]0Isleworth, England1
85108.900000male[null]118.000PC 17758CC65[null]0Madrid, Spain1
8652.000000male[null]147.000110465SC1102070Worcester, MA0
870.000000male[null]138.00019972S[null][null]0Rotterdam, Netherlands0
88135.633300male[null]122.000PC 17760C[null]2320[null]0
89227.525000male[null]1[null]PC 17757C[null][null]0[null]0
9050.495800male[null]131.000PC 17590SA24[null]0Trenton, NJ0
9150.000000male[null]1[null]113767SA32[null]0Seattle, WA0
9240.125000male[null]136.00013049CA10[null]0Winnipeg, MB0
9359.400000male[null]155.000PC 17603C[null][null]0New York, NY1
9426.550000male[null]133.000113790S[null]1090London0
95262.375000male[null]161.000PC 17608CB57 B59 B63 B66[null]3Haverford, PA / Cooperstown, NY1
9655.900000male[null]150.00013507SE44[null]0Duluth, MN1
9726.550000male[null]156.000113792S[null][null]0New York, NY0
9830.695800male[null]156.00017764CA7[null]0St James, Long Island, NY0
9960.000000male[null]124.00013695SC31[null]0Huntington, WV1
10026.000000male[null]1[null]113056SA19[null]0Streatham, Surrey0
Rows: 1-100 of 1234 | Columns: 14
In [111]:
# the variable must be composed of two flower brackets '{}' and only pure SQL works
titanic.apply(func = {"boat": "DECODE({}, NULL, 0, 1)",
                      "age" : "COALESCE(age, AVG({}) OVER (PARTITION BY pclass, sex))",
                      "name": "REGEXP_SUBSTR({}, ' ([A-Za-z])+\.')"})
123
fare
Numeric(10,5)
123
survived
Int
Abc
sex
Varchar(20)
123
boat
Integer
123
pclass
Int
123
age
Float
Abc
ticket
Varchar(36)
Abc
name
Varchar(164)
Abc
embarked
Varchar(20)
Abc
cabin
Varchar(30)
123
body
Int
123
parch
Int
Abc
Varchar(100)
123
sibsp
Int
1135.633301female1136.0PC 17760 Miss.CC32[null]00
2134.500001female1131.016966 Miss.CE39 E41[null]00
326.550001female1121.0113795 Miss.S[null][null]00
4211.500001female1150.0113503 Mrs.CC80[null]11
5164.866701female1145.036928 Mrs.S[null][null]11
6164.866701female1131.036928 Miss.SC7[null]20
7135.633301female1155.0PC 17760 Mrs.CC32[null]00
875.250001female1160.0110813 Mrs.CD37[null]01
9512.329201female1135.0PC 17755 Miss.C[null][null]00
1079.200001female1137.2635658914729PC 17585 Mrs.C[null][null]00
11110.883301female1139.017421 Mrs.CC68[null]11
1252.000001female1137.263565891472919996 Mrs.SC126[null]01
1379.650001female1139.0110413 Mrs.SE67[null]11
1479.650001female1118.0110413 Miss.SE68[null]20
1525.929201female1148.017466 Mrs.SD17[null]00
1680.000001female1162.0113572 Mrs.[null]B28[null]00
1778.266701female1152.036947 Mrs.CD20[null]01
1855.441701female1143.011778 Mrs.CC116[null]01
19146.520801female1137.2635658914729PC 17569 Mrs.CB78[null]01
20134.500001female1140.016966 Mrs.CE34[null]11
2182.266701female1123.021228 Mrs.SB45[null]01
2260.000001female1118.013695 Mrs.SC31[null]01
2355.900001female1139.013507 Mrs.SE44[null]01
24153.462501female1140.0PC 17582 Miss.SC125[null]00
2531.000001female1130.0113798 Miss.C[null][null]00
2657.750001female1135.013236 Mrs.CC28[null]01
2769.300001female1124.0PC 17477 Mlle.CB35[null]00
28262.375001female1148.0PC 17608 Mrs.CB57 B59 B63 B66[null]31
29262.375001female1118.0PC 17608 Miss.CB57 B59 B63 B66[null]22
3059.400001female1154.0PC 17603 Mrs.C[null][null]01
3186.500001female1133.0110152 Countess.SB77[null]00
3227.720801female1133.0PC 17613 Miss.CA11[null]00
33211.337501female1143.024160 Mrs.SB3[null]10
3483.158301female1156.011767 Mrs.CC50[null]10
3593.500001female1130.012749 Miss.SB73[null]00
36108.900001female1117.0PC 17758 Mrs.CC65[null]01
3766.600001female1122.0113776 Mrs.SC2[null]01
3861.979201female1122.0113509 Miss.CB36[null]10
39108.900001female1139.0PC 17758 Dona.CC105[null]00
4026.283301female1119.011752 Miss.SD47[null]20
41113.275001female1123.035273 Miss.CD36[null]01
42113.275001female1131.035273 Miss.CD36[null]01
4390.000001female1137.019928 Mrs.QC78[null]01
4490.000001female1133.019928 Miss.QC78[null]01
4582.170801female1137.2635658914729PC 17604 Mrs.C[null][null]01
4653.100001female1118.0113773 Mrs.SD30[null]01
4786.500001female1116.0110152 Miss.SB79[null]00
48211.337501female1115.024160 Miss.SB5[null]10
49146.520801female0158.0PC 17569 Miss.CB80[null]00
5077.958301female1121.013502 Miss.SD9[null]00
5139.400001female1151.0PC 17592 Mrs.SD28[null]10
5239.400001female1116.0PC 17592 Miss.SD28[null]10
5327.720801female1155.0112377 Mrs.C[null][null]00
5425.929201female1149.017465 Dr.SD17[null]00
55106.425001female1130.0PC 17761 Miss.C[null][null]00
56211.337501female1139.024160 Miss.S[null][null]00
5752.554201female1145.011753 Mrs.SD19[null]01
5851.862501female1137.263565891472917464 Mrs.SD21[null]01
5980.000001female1138.0113572 Miss.[null]B28[null]00
6090.000001female1135.019943 Mrs.SC93[null]01
6152.000001female1135.0113789 Mrs.S[null][null]01
6277.958301female1151.013502 Mrs.SD11[null]01
6357.979201female1144.0111361 Mrs.CB18[null]10
6457.979201female1116.0111361 Miss.CB18[null]10
6593.500001female1152.012749 Mrs.SB69[null]11
6683.158301female1124.011767 Miss.CC54[null]00
6783.475001female1135.036973 Mrs.SC83[null]01
6876.729201female1149.0PC 17572 Mrs.CD33[null]01
6955.441701female1125.011765 Mrs.CE50[null]01
7063.358301female1145.0PC 17759 Mrs.CD10 D12[null]10
71153.462501female1158.0PC 17582 Mrs.SC125[null]10
7230.000001female1119.0112053 Miss.SB42[null]00
7389.104201female1137.263565891472917453 Mrs.CC92[null]01
7459.400001female1145.0112378 Mrs.C[null][null]10
7559.400001female1122.0112378 Miss.C[null][null]10
76211.500001female1135.0113503 Miss.CC130[null]00
7753.100001female1135.0113803 Mrs.SC123[null]01
7879.200001female1148.013567 Mrs.CB41[null]11
7949.500001female1122.013568 Miss.CB39[null]20
80133.650001female1137.2635658914729PC 17611 Mrs.S[null][null]01
8156.929201female1130.0PC 17485 Miss.CE36[null]00
82263.000001female1160.019950 Mrs.SC23 C25 C27[null]41
83263.000001female1123.019950 Miss.SC23 C25 C27[null]23
84263.000001female1128.019950 Miss.SC23 C25 C27[null]23
85263.000001female1124.019950 Miss.SC23 C25 C27[null]23
86110.883301female1137.263565891472917421 Miss.C[null][null]00
8731.683301female1137.2635658914729PC 17598 Mrs.S[null][null]00
8878.266701female1154.036947 Miss.CD20[null]01
89227.525001female1138.0PC 17757 Miss.CC45[null]00
9083.158301female1123.011767 Mrs.CC54[null]10
91106.425001female1148.0PC 17761 Mrs.CC86[null]01
92247.520801female1127.0PC 17558 Mrs.CB58 B60[null]11
9381.858301female1154.033638 Mrs.SA34[null]11
9457.000001female1117.017474 Mrs.SB20[null]01
9552.000001female1127.0F.C. 12750 Mrs.SB71[null]21
96151.550001female1133.0113781 Miss.S[null][null]00
9771.283301female1138.0PC 17599 Mrs.CC85[null]01
9826.550001female1164.0112901 Mrs.SB26[null]11
9971.000001female1136.0WE/P 5735 Miss.SB22[null]20
10025.700001female1155.011770 Mrs.SC101[null]02
Out[111]:
Rows: 1-100 of 1234 | Columns: 14

See Also

vDataFrame.applymap Applies a function to all the vcolumns.
vDataFrame.eval Evaluates a customized expression.