Changing the Data Type
You already know how to change the data type from string to number, for example. But let's take a closer look at this small but important task.
Let's start by changing the data type from string to datetime
. Most often, you will need this to work with time series. You can perform this operation using the .to_datetime()
method:
df['Date'] = pd.to_datetime(df['Date'], format='%Y%m%d')
To convert a string to a bool
- use the .map()
method on the column whose values you want to change:
df['C1'] = df['C1'].map({'yes': True, 'no': False})
For example, if you have a price column that looks like "$198,800" and you want to turn it into a float
- you should create custom transformation functions:
12345678910111213import pandas as pd import re # Create simple dataset df = pd.DataFrame(data={'Price':['$4,122.94', '$1,002.3']}) # Create a custom function to transform data # x - value from column def price2int(x): return float(re.sub(r'[\$\,]', '', x)) # Use custom transformation on a column df['Price'] = df['Price'].apply(price2int)
Swipe to start coding
Read the sales_data_types.csv
dataset and change the data type in the Active
column from str
to bool
.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.33
Changing the Data Type
Scorri per mostrare il menu
You already know how to change the data type from string to number, for example. But let's take a closer look at this small but important task.
Let's start by changing the data type from string to datetime
. Most often, you will need this to work with time series. You can perform this operation using the .to_datetime()
method:
df['Date'] = pd.to_datetime(df['Date'], format='%Y%m%d')
To convert a string to a bool
- use the .map()
method on the column whose values you want to change:
df['C1'] = df['C1'].map({'yes': True, 'no': False})
For example, if you have a price column that looks like "$198,800" and you want to turn it into a float
- you should create custom transformation functions:
12345678910111213import pandas as pd import re # Create simple dataset df = pd.DataFrame(data={'Price':['$4,122.94', '$1,002.3']}) # Create a custom function to transform data # x - value from column def price2int(x): return float(re.sub(r'[\$\,]', '', x)) # Use custom transformation on a column df['Price'] = df['Price'].apply(price2int)
Swipe to start coding
Read the sales_data_types.csv
dataset and change the data type in the Active
column from str
to bool
.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 3.33single