創(chuàng)建測(cè)試dataframe:
>>> import pandas as pd
>>> df = pd.DataFrame([{'a':1, 'b':2}, {'a':3, 'b':4}])
>>> df
a b
0 1 2
1 3 4
添加兩個(gè)空列
>>> df[['c','d']]=df.apply(lambda x:('',''),axis=1,result_type='expand')
>>> df
a b c d
0 1 2
1 3 4
當(dāng)然,一列一列添加也是可以的
>>> df['c'] = ''
>>> df['d'] = ''
但如果這樣
>>> df[['c', 'd']] = ''
KeyError: "None of [Index(['c', 'd'], dtype='object')] are in the [columns]"
補(bǔ)充:pandas 插入空列_用pandas的DataFrame類型對(duì)CSV文件增加新列
問(wèn)題描述:
1.有兩個(gè).csv文件,分別是df_val.csv和df_classes.scv。df_val.csv為2列36500行,df_classes.scv為3列365行。
2.兩個(gè)csv文件的關(guān)系:其實(shí)是共365個(gè)文件夾,每個(gè)文件夾下有100個(gè)圖片。df_val.csv為所有圖片的路徑,df_classes.scv為365個(gè)文件夾的名字和標(biāo)簽。
3.想要做什么:想要將df_classes.scv文件中的標(biāo)簽映射到df_val.csv文件中。(注:文件夾下的100個(gè)圖片對(duì)應(yīng)的都是那一個(gè)標(biāo)簽。)
實(shí)現(xiàn)代碼:
代碼說(shuō)明:
1.我讀第二個(gè)文件的時(shí)候和第一個(gè)代碼不一樣是因?yàn)?,我第二個(gè)文件是以空格作為分隔符,第一個(gè)是逗號(hào)作為分隔符。所以要加上sep='\s'和engine='python',又因?yàn)槲业诙€(gè)文件中含有中文,所以需要加上encoding='UTF-8'。
2.print是中間結(jié)果的測(cè)試。
3.注意DataFrame類型的索引表示是[列][行]。
4.因?yàn)槊?00個(gè)對(duì)應(yīng)另外一個(gè)文件夾中的一個(gè),所以要用循環(huán)復(fù)制100次??梢詤⒖枷旅孢@個(gè)例子:
5.擴(kuò)展一個(gè)其他例子:
6.解決問(wèn)題的思路就是,先用list做好需要添加的列,然后用insert加進(jìn)去。還沒(méi)有發(fā)現(xiàn)可以添加指定多少行的方法。
總結(jié):
1.直線走不通就曲線救國(guó)。
2.list真的簡(jiǎn)單好用。
3.搬磚使我快樂(lè)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python中pandas.DataFrame對(duì)行與列求和及添加新行與列示例
- python 使用pandas計(jì)算累積求和的方法
- Python學(xué)習(xí)筆記之pandas索引列、過(guò)濾、分組、求和功能示例
- python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法
- Python pandas.DataFrame 找出有空值的行
- python解決pandas處理缺失值為空字符串的問(wèn)題
- pandas 缺失值與空值處理的實(shí)現(xiàn)方法
- 淺談pandas中對(duì)nan空值的判斷和陷阱
- Python pandas之求和運(yùn)算和非空值個(gè)數(shù)統(tǒng)計(jì)