2013-05-16 45 views
100

Có thể nối thêm vào khung dữ liệu trống không chứa bất kỳ chỉ mục hoặc cột nào không?Phụ thêm vào khung dữ liệu trống trong Pandas?

Tôi đã cố gắng làm điều này, nhưng tiếp tục nhận được một khung dữ liệu trống ở cuối.

ví dụ:

df = pd.DataFrame() 
data = ['some kind of data here' --> I have checked the type already, and it is a dataframe] 
df.append(data) 

Kết quả trông như thế này:

Empty DataFrame 
Columns: [] 
Index: [] 
+0

trả lời một câu hỏi tương tự ở đây: http://stackoverflow.com/questions/13784192/creating-an-empty-pandas-dataframe-then-filling-it/41529411#41529411. về cơ bản một cái gì đó như thế này 'newDF = pd.DataFrame() #tạo một khung dữ liệu mới trống rỗng newDF = newDF.append (oldDF, ignore_index = True) # bỏ qua chỉ mục là tùy chọn' – geekidharsh

Trả lời

197

Nên hoạt động:

>>> df = pd.DataFrame() 
>>> data = pd.DataFrame({"A": range(3)}) 
>>> df.append(data) 
    A 
0 0 
1 1 
2 2 

nhưng append không xảy ra tại chỗ, vì vậy bạn sẽ phải lưu trữ đầu ra nếu bạn muốn:

>>> df 
Empty DataFrame 
Columns: [] 
Index: [] 
>>> df = df.append(data) 
>>> df 
    A 
0 0 
1 1 
2 2 
+3

Cảm ơn bạn! Điều đó đã hiệu quả! Tôi đã không nhận ra rằng tôi đã phải lưu trữ đầu ra ... Tôi có lẽ nên đã đọc tài liệu tốt hơn, nhưng tôi đánh giá cao nó, @ DSM! – ericmjl

+5

tôi luôn luôn quên bạn cần phải gán nó! –

+18

thực sự là phụ thêm không xảy ra tại chỗ là thông tin quan trọng nhất ở đây;) – refuzee

56

Và nếu bạn muốn thêm một hàng, bạn có thể sử dụng một từ điển:

df = pd.DataFrame() 
df = df.append({'name': 'Zed', 'age': 9, 'height': 2}, ignore_index=True) 

mang đến cho bạn:

age height name 
0 9  2 Zed 
+1

Điều này thật tuyệt! Cảm ơn – geekidharsh

+1

Có! Đây chỉ là những gì tôi đang tìm kiếm. – Cai

6

Bạn có thể concat dữ liệu theo cách này:

InfoDF = pd.DataFrame() 
tempDF = pd.DataFrame(rows,columns=['id','min_date']) 

InfoDF = pd.concat([InfoDF,tempDF]) 
+0

Cảm ơn bạn, tôi đã thử concat. Nhưng tại sao cả hai phụ thêm và concat nếu họ có thể làm công việc tương tự –

+0

Chủ đề này có thể cung cấp cho một lời giải thích tốt: https://stackoverflow.com/questions/15819050/pandas-dataframe-concat-vs-append – Deepish

Các vấn đề liên quan