>>> import pandas as pd >>> df = pd.DataFrame([{'a':1, 'b':2}, {'a':3, 'b':4}]) >>> df a b 0 1 2 1 3 4
>>> df[['c','d']]=df.apply(lambda x:('',''),axis=1,result_type='expand') >>> df a b c d 0 1 2 1 3 4
>>> df['c'] = '' >>> df['d'] = ''
但如果這樣
>>> df[['c', 'd']] = '' KeyError: "None of [Index(['c', 'd'], dtype='object')] are in the [columns]"
補充:pandas 插入空列_用pandas的DataFrame類型對CSV文件增加新列
1.有兩個.csv文件,分別是df_val.csv和df_classes.scv。df_val.csv為2列36500行,df_classes.scv為3列365行。
2.兩個csv文件的關系:其實是共365個文件夾,每個文件夾下有100個圖片。df_val.csv為所有圖片的路徑,df_classes.scv為365個文件夾的名字和標簽。
3.想要做什么:想要將df_classes.scv文件中的標簽映射到df_val.csv文件中。(注:文件夾下的100個圖片對應的都是那一個標簽。)
1.我讀第二個文件的時候和第一個代碼不一樣是因為,我第二個文件是以空格作為分隔符,第一個是逗號作為分隔符。所以要加上sep='\s'和engine='python',又因為我第二個文件中含有中文,所以需要加上encoding='UTF-8'。
2.print是中間結果的測試。
3.注意DataFrame類型的索引表示是[列][行]。
4.因為每100個對應另外一個文件夾中的一個,所以要用循環(huán)復制100次。可以參考下面這個例子:
5.擴展一個其他例子:
6.解決問題的思路就是,先用list做好需要添加的列,然后用insert加進去。還沒有發(fā)現(xiàn)可以添加指定多少行的方法。
1.直線走不通就曲線救國。
2.list真的簡單好用。
3.搬磚使我快樂。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。