2017-03-14 30 views
1

我讀.csv文件變成熊貓數據幀delta_df = pd.read_csv('SAAF_121581_67_500_s.dat',index_col=False) - 我需要辦理以下操作基於列的標題一些列:delta_df.iloc[0:,2:].select(lambda x: not re.search('rad', x), axis=1)/1000修改某些大熊貓據幀colums,將更改應用到整個原始數據幀

本質上,我正在搜索標題中不包含字符串「rad」並將它的內容除以1000的每一列。到目前爲止這麼好。

從這裏我想申請delta_df.iloc[0:,2:].select(lambda x: not re.search('rad', x), axis=1)/1000回到原來的數據框 - 改變包含「rad」的列,其餘的不變。

我試圖使用df.apply(),但我認爲這可能是df.applymap()的工作 - >我似乎無法讓它工作。

任何建議或指針將不勝感激。

回答

1

你可以只保存列,然後在右側&左右兩側都使用:

cols = df.select(lambda x: not re.search('tick', x), axis=1).columns 
df[cols] = df[cols]/1000. 
+0

真是一個很好的解決方案,我在整個事情試圖使用的功能,分割數據幀和連接它們複雜再次。非常感激。 – coolleaf