xxxxxxxxxx
import pandas as pd
s = pd.Series([1,2,3,4,5])
# adding 5 to each value
new = s.apply(lambda num : num + 5)
# printing elements of old and new series
print(s.head().values,"\n",new.head().values)
# [1 2 3 4 5]
# [6 7 8 9 10]
xxxxxxxxxx
# This function doubles the input value
def double(x):
return 2*x
# Apply this function to double every value in a specified column
df.column1 = df.column1.apply(double)
# Lambda functions can also be supplied to `apply()`
df.column2 = df.column2.apply(lambda x : 3*x)
# Applying to a row requires it to be called on the entire DataFrame
df['newColumn'] = df.apply(lambda row:
row['column1'] * 1.5 + row['column2'],
axis=1
)
xxxxxxxxxx
import pandas as pd
# Function to add
def add_values(row):
return row['A'] + row['B'] + row['C']
def main():
# Create a dictionary with three fields each
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
# Convert the dictionary into DataFrame
df = pd.DataFrame(data)
print("Original DataFrame:\n", df)
# Apply the user-defined function to every row
df['add'] = df.apply(add_values, axis=1)
print('\nAfter Applying Function: ')
# Print the new DataFrame
print(df)
if __name__ == '__main__':
main()