使用列表理解自动填充具有特定数据类型的列表

Using list comprehension to automatically populate a list with specific data type

我在 CSV 文件中得到了一个简单的数据。此数据具有分类列和连续列。这就是我将它们分开的方式:

df = pd.read_csv('data.csv')

categorical_columns = ['order_id', 'start_state_abr', 'end_state_abr', 'start_city', 'end_city', 'start_zip', 'end_zip']
continuous_columns = ['total_volume_inches3', 'total_distance_miles', 'total_weight_lbs']

这太手动了。每次有新列时,它都要求程序员读取 CSV 文件。有没有办法使用列表理解来填充列表 categorical_columnscontinuous_columns

你能给我看看 CSV 文件吗? 我想你可以通过眼睛找出列的类型,但不知道如何通过自动功能挑选它们!解决方法如下!

# distinguish the categorical_columns,numerical_columns:
# 1.use df.info() to check out which columns are 'object' 
df.info()

# 2.then use df.select_dtypes(excluede=['object']).columns to get numerical columns
numerical_col=list(tf.select_dtypes(exclude=['object']).columns)
categorical_col = []
for i in train.columns:
  if i not in numerical_col:
      categorical_col.append(i)
categorical_col 

# 3.Furthermore,distinguish the serial columns and noserial columns:
numerical_serial_col=[]
numerical_noserial_col=[]
for i in numerical_col:
  if train[i].nunique()<=10:
      numerical_noserial_col.append(i)
  else:
      numerical_serial_col.append(i)
numerical_serial_col,numerical_noserial_col

[这是我在stack-overflow的第一个回答,不规范的回答格式还请见谅!]