如何选择以"持续时间"开头的所有列或"塑造"?

时间:2015-12-04 20:00:36

标签: python pandas dataframe

如何选择标题名称以&#34开头的所有列;持续时间"或"形状"? (而不是定义一长列列名)。我需要选择这些列并将空白字段替换为0。

column_names = ['durations.blockMinutes_x',
                'durations.scheduledBlockMinutes_y']
data[column_names] = data[column_names].fillna(0)

4 个答案:

答案 0 :(得分:0)

您可以使用数据框str的{​​{1}}方法:

startwith

或者您可以使用df = data[data.columns[data.columns.str.startwith('durations') | data.columns.str.startwith('so')]] df.fillna(0) 方法:

contains

答案 1 :(得分:0)

使用my_dataframe.columns.values.tolist()获取列名称(基于Get list from pandas DataFrame column headers):

column_names = [x for x in data.columns.values.tolist() if x.startswith("durations") or x.startswith("shape")]

答案 2 :(得分:0)

我会使用select方法:

df.select(lambda c: c.startwith('durations') or c.startswith('shape'), axis=1)

答案 3 :(得分:0)

一种简单的方法

data[data.filter(regex='durations|shape').columns].fillna(0)

示例屏幕截图

enter image description here