Setting column types while reading csv with pandas
In your loop you are doing:
for col in dp.columns:
print 'column', col,':', type(col[0])
and you are correctly seeing str
as the output everywhere because col[0]
is the first letter of the name of the column, which is a string.
For example, if you run this loop:
for col in dp.columns:
print 'column', col,':', col[0]
you will see the first letter of the string of each column name is printed out - this is what col[0]
is.
Your loop only iterates on the column names, not on the series data.
What you really want is to check the type of each column's data (not its header or part of its header) in a loop.
So do this instead to get the types of the column data (non-header data):
for col in dp.columns:
print 'column', col,':', type(dp[col][0])
This is similar to what you did when printing the type of the rating
column separately.
Use:
dp.info()
to see the datatypes of the columns. dp.columns
refers to the column header names, which are strings.