Vì vậy, tôi có một df trong đó tôi trích xuất một giá trị để lưu trữ nó trong một df khác:
nhập gấu trúc dưới dạng pd
#Tạo tập dữ liệu
d = {'foo':[100, 111, 222],
'thanh':[333, 444, 555]}
df = pd.DataFrame(d)
# Khung dữ liệu đầy đủ:
in(df)
# Buổi biểu diễn:
# quán bar foo
# 0 333 100
# 1 444 111
# 2 555 222
df2=pd.DataFrame()
df2.loc[1,'Name'] = df[df.foo == 222]['foo']
#lỗi:
ValueError: Bộ chỉ mục không tương thích với Series
Tôi cho rằng dòng cuối cùng sẽ đưa ra lỗi đó bởi vì df[df.foo == 222]['foo']
是一个 Loạt
:
2 222
Tên: foo, dtype: int64
Vì vậy, tôi đang cố gắng để có được giá trị đó. tôi đã sử dụng .Tại
và có được điều này:
print(df[df.foo == 222].loc[:,'bar'].at['bar'])
#ValueError: Lập chỉ mục dựa trên chỉ mục số nguyên chỉ có thể có bộ chỉ mục số nguyên
据我所知,đó
Sử dụng một bộ chỉ mục số nguyên,Tại
Điều gì đang xảy ra khi sử dụng nhãn và số nguyên cùng một lúc?
Sẽ Tại
Việc sử dụng nó với mặt nạ bool được coi là hình thức xấu trừ khi bạn có thể đảm bảo 100% rằng chỉ một hàng trong mặt nạ là đúng (nếu không,Tại
sẽ thất bại).
Cách tốt nhất là sử dụng lộc
và lấy kết quả đầu tiên.
df.loc[df.foo == 222, 'bar'].values[0]
555
Như một trích dẫn,Tại
không hoạt động vì trả về một chỉ mục của [2]
Chuỗi dòng đơn:
df[df.foo == 222].loc[:,'bar']
2 555
Tên: thanh, dtype: int64
此时,tại ['bar']
Không có ý nghĩa gì vì nó tìm kiếm "bar" trong chỉ mục, trong khi thanh
KHÔNG. Điều bạn nên làm là
df[df.foo == 222].at[2, 'bar']
555
Về python - Pandas .at ném ValueError: Khi lập chỉ mục dựa trên chỉ mục số nguyên chỉ có thể có bộ chỉ mục số nguyên, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53704552/
Tôi là một lập trình viên xuất sắc, rất giỏi!