我是Python的新手,如果答案很简单,请原谅我。让我们假设以下数据框:
columns_info = pd.DataFrame(index=infos,columns=df2.columns)
信息在哪里:
dict_keys(['Reference_COS_ID', 'Station_Description', 'Reference_Axis_ID', 'Station_ID', 'Cut', 'Coordinates'])
df2.columns是:
Index(['Condition', 'Case', 'Flight Point', 'Mass case', 'DB Code',
'Minmax/Nz', 'Mass,Kg', 'Mach #', 'VTAS', 'QDYN',
...
'VT.0060.26', 'VT.0070.26', 'VT.0080.26', 'VT.0090.26', 'VT.0100.26',
'VT.0110.26', 'Unnamed: 499', 'DB Code.1', 'Mass,Kg.1', 'Mach #.1'],
dtype='object', length=503)
如何为与正则表达式匹配的所有列分配值? 我想要这样的东西:
columns_info['VT\.....\.26']['Station_ID']=0
谢谢!
答案 0 :(得分:1)
使用正则表达式匹配“ VT”之间的数字。和“ .26:
awk -F"$" '{print $3}' file.txt
答案 1 :(得分:0)
您可以将DataFrame.filter
与正则表达式一起使用,以获取以VT
开头和以26
结尾的列:
# Filter only columns which start with VT and end with 26
df1 = columns_info.filter(regex='^VT.*26$')
# Assign 0 to index Station_ID
df1.loc['Station_ID'] = 0
# Get dataframe without the columns in df1
df2 = columns_info.drop(df1.columns, axis=1)
# Concat both dataframes to final dataframe
columns_info = pd.concat([df1, df2], axis=1)
输出:
print(columns_info)
VT.0060.26 VT.0070.26 VT.0080.26 VT.0090.26 VT.0100.26 \
Reference_COS_ID NaN NaN NaN NaN NaN
Station_Description NaN NaN NaN NaN NaN
Reference_Axis_ID NaN NaN NaN NaN NaN
Station_ID 0 0 0 0 0
Cut NaN NaN NaN NaN NaN
Coordinates NaN NaN NaN NaN NaN
VT.0110.26 Condition Case Flight Point Mass case DB Code \
Reference_COS_ID NaN NaN NaN NaN NaN NaN
Station_Description NaN NaN NaN NaN NaN NaN
Reference_Axis_ID NaN NaN NaN NaN NaN NaN
Station_ID 0 NaN NaN NaN NaN NaN
Cut NaN NaN NaN NaN NaN NaN
Coordinates NaN NaN NaN NaN NaN NaN
Minmax/Nz Mass,Kg Mach # VTAS QDYN Unnamed: 499 DB Code.1 \
Reference_COS_ID NaN NaN NaN NaN NaN NaN NaN
Station_Description NaN NaN NaN NaN NaN NaN NaN
Reference_Axis_ID NaN NaN NaN NaN NaN NaN NaN
Station_ID NaN NaN NaN NaN NaN NaN NaN
Cut NaN NaN NaN NaN NaN NaN NaN
Coordinates NaN NaN NaN NaN NaN NaN NaN
Mass,Kg.1 Mach #.1
Reference_COS_ID NaN NaN
Station_Description NaN NaN
Reference_Axis_ID NaN NaN
Station_ID NaN NaN
Cut NaN NaN
Coordinates NaN NaN