Python Pandas dataFrame - Columns selection
If you only want to select a single column, there is no difference between the two ways.
However, the dot notation doesn't allow you to select multiple columns, whereas you can use dataframe[['col1', 'col2']] to select multiple columns (which returns a pandas.core.frame.DataFrame instead of a pandas.core.series.Series).
I have a Pandas dataFrame object train_df with say a column called "ColA" and a column "ColB". It has been loaded from a csv file with columns header using read_csv
I obtain the same results when I code:
pd.crosstab(train_df['ColA'], train_df['ColB'])
or 
pd.crosstab(train_df.ColA, train_df.ColB)
Is there any difference in these 2 ways of selecting columns? 
When I request to print the type it's the same : pandas.core.series.Series