2017-09-21 7 views
3

이 질문은 쉬운 것처럼 보일 수도 있지만 해결책을 찾지 못했습니다.단일 열을 사용하여 pandas 데이터 프레임에 새 행을 추가하는 방법은 무엇입니까?

헤더없이이 CSV 파일을 가지고 있다고 해봅시다.

121 
334 
313 
930 

나는 나는 다음과 같은 방법으로 시도했지만 성공하지 못했습니다이

121 
334 
313 
930 
0 

처럼 하단에있는 숫자 0에 새 행을 추가/추가하고자합니다.

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'를 사용하여 훌륭하게 작동합니다. – Ling

관련 문제