2017-09-21 21 views
3

この質問は簡単だと思われるかもしれませんが、解決策が見つかりませんでした。パンダのデータフレームに新しい列を追加するには?

私はヘッダーなしでこのようなCSVファイルを持っていると言います。私が追加/この

121 
334 
313 
930 
0 

状の底で数0に新しい行を追加したい

121 
334 
313 
930 

私は、次の方法で試みたが、成功しませんでした。

import pandas as pd 
import os 

folder_path = "/home/Ling/test/" 
df = pd.read_fwf(folder_path + "test1.csv", usecols=[0], delimiter=",") 
df2 = pd.DataFrame([[0]], dtype=int) 
print df.append(df2, ignore_index=True) 

結果

NaN 121 
NaN 334 
NaN 313 
NaN 930 
0.0 NaN 

私は、私も[[0,]][[,0]][[0]]から変更しようとしたがうまくいきませんでした。このexample

を次しています。 ここでコードで紛失していることはありますか?

ご協力いただきありがとうございます。

df.loc[df.shape[0]] = 0 

をそれとも、append使用する場合:

答えて

1
import pandas as pd 
import numpy as np 

#read data frame with header None 
df=pd.read_csv("datapath/df.csv",header=None) 
df=df.append(pd.Series(np.array([0])),ignore_index=True) 
+1

提案をお答えください。 – mplungjan

1

あなたにもlocshapeを使用して新しい行を追加することができcsvを読んだとき、最後に

df2 = pd.DataFrame([0]) 
df.append(df2, ignore_index=True) 

を暗示するheader=Noneを追加します列名は含まれていません。

+0

こんにちは@zipaあなたの答えに感謝します。私はあなたの提案を 'loc'と' shape'を使って理解していませんでした。 'df2 = df.loc [df.shape [0]]'のように記述してそれを 'append'する必要がありますか?ちなみに、 'append'を使った2番目の提案はすばらしい働きをしています。 – Ling

関連する問題