- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
我知道有很多关于此的问题,例如 Getting daily averages with pandasVà How get monthly mean in pandas using groupby但我遇到了一个奇怪的错误。
简单的数据集,有一个索引列(时间戳类型)和一个值列。想获得数据的月均值。
In [76]: df.head()
Out[76]:
MỘT
2008-01-02 1
2008-01-03 2
2008-01-04 3
2008-01-07 4
2008-01-08 5
但是,当我进行 groupby 时,我得到的只是索引组而不是值组
In [74]: df.head().groupby(lambda x: x.month).groups
Out[74]:
{1: [Timestamp('2008-01-02 00:00:00'),
Timestamp('2008-01-03 00:00:00'),
Timestamp('2008-01-04 00:00:00'),
Timestamp('2008-01-07 00:00:00'),
Timestamp('2008-01-08 00:00:00')]}
尝试采用 means() 会导致错误:
已经尝试了 df.head().resample("M", how='mean')
Và df.head().groupby(lambda x: x.month) .mean()
并得到错误:DataError: No numeric types to aggregate
In [75]: df.resample("M", how='mean')
---------------------------------------------------------------------------
DataError Traceback (most recent call last)
in ()
----> 1 df.resample("M", how='mean')
/usr/local/lib/python2.7/site-packages/pandas/core/generic.pyc in resample(self, rule, how, axis, fill_method, closed, label, convention, kind, loffset, limit, base)
2878 fill_method=fill_method, convention=convention,
2879 limit=limit, base=base)
-> 2880 return sampler.resample(self).__finalize__(self)
2881
2882 def first(self, offset):
/usr/local/lib/python2.7/site-packages/pandas/tseries/resample.pyc in resample(self, obj)
82
83 if isinstance(ax, DatetimeIndex):
---> 84 rs = self._resample_timestamps()
85 elif isinstance(ax, PeriodIndex):
86 offset = to_offset(self.freq)
/usr/local/lib/python2.7/site-packages/pandas/tseries/resample.pyc in _resample_timestamps(self)
286 # Irregular data, have to use groupby
287 grouped = obj.groupby(grouper, axis=self.axis)
--> 288 result = grouped.aggregate(self._agg_method)
289
290 if self.fill_method is not None:
/usr/local/lib/python2.7/site-packages/pandas/core/groupby.pyc in aggregate(self, arg, *args, **kwargs)
2436 def aggregate(self, arg, *args, **kwargs):
2437 if isinstance(arg, compat.string_types):
-> 2438 return getattr(self, arg)(*args, **kwargs)
2439
2440 result = OrderedDict()
/usr/local/lib/python2.7/site-packages/pandas/core/groupby.pyc in mean(self)
664 """
665 try:
--> 666 return self._cython_agg_general('mean')
667 except GroupByError:
668 raise
/usr/local/lib/python2.7/site-packages/pandas/core/groupby.pyc in _cython_agg_general(self, how, numeric_only)
2356
2357 def _cython_agg_general(self, how, numeric_only=True):
-> 2358 new_items, new_blocks = self._cython_agg_blocks(how, numeric_only=numeric_only)
2359 return self._wrap_agged_blocks(new_items, new_blocks)
2360
/usr/local/lib/python2.7/site-packages/pandas/core/groupby.pyc in _cython_agg_blocks(self, how, numeric_only)
2406
2407 if len(new_blocks) == 0:
-> 2408 raise DataError('No numeric types to aggregate')
2409
2410 return data.items, new_blocks
DataError: No numeric types to aggregate
1 Câu trả lời
是的,您应该尝试使用 df['A'] = df['A'].astype(int)
Sẽ MỘT
强制转换为数字。可能值得检查初始数据读入中是否有任何内容导致它也是对象而不是数字。
关于python - 使用 GroupBy 获取 Pandas 的平均值 - 获取 DataError : No numeric types to aggregate -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25397057/
Tôi đang xử lý một tập hợp gồm 173 nghìn điểm được dán nhãn thành 160 nhóm. Tôi muốn giảm số lượng nhóm/cụm bằng cách sáp nhập những nhóm/cụm gần nhất (còn 9 hoặc 10 nhóm). Tôi đã tìm kiếm sklearn hoặc các thư viện tương tự nhưng không thành công. Tôi đoán nó chỉ là sự nhóm lại thông qua knn
Tôi có một danh sách phẳng các số được nhóm hợp lý thành các nhóm 3, trong đó mỗi bộ ba là (số, __bỏ qua, cờ[0 hoặc 1]), ví dụ: [7,56,1, 8,0,0, 2,0,0, 6,1,
Tôi đang sử dụng pipenv để quản lý các gói của mình. Tôi muốn viết một tập lệnh python để gọi một tập lệnh python khác sử dụng môi trường ảo (VE) khác. Cách chạy một tập lệnh python bằng VE1 và gọi một tập lệnh khác
Giả sử tôi có một tệp script.py nằm ở đường dẫn = "foo/bar/script.py". Tôi đang tìm cách thực thi các tập lệnh trong Python từ Python chính của tôi
Điều này nghe có vẻ giống như một câu đố hay một trò đùa, nhưng thực ra tôi vẫn chưa tìm ra câu trả lời cho câu hỏi này. Vấn đề thực sự là gì? Tôi muốn chạy 2 tập lệnh. Trong tập lệnh đầu tiên, tôi gọi tập lệnh kia, nhưng tôi muốn chúng tiếp tục song song, chứ không phải thành hai luồng riêng biệt. Chủ yếu là tôi không muốn
Tôi có một phần mềm sử dụng python 2.5.5. Tôi muốn gửi lệnh để bắt đầu một tập lệnh trong python 2.7.5 và sau đó tiếp tục thực thi tập lệnh đó. Tôi đã thử sử dụng #!python2.7.5 và http://re
Tôi đang ở dòng lệnh python (sử dụng python 2.7) và đang cố gắng chạy một tập lệnh Python. Hệ điều hành của tôi là Windows 7. Tôi đã thiết lập thư mục của mình thành thư mục chứa tất cả các tập lệnh của tôi bằng cách sử dụng: os.chdir("
Spoiler: Đã giải quyết một phần (xem phần cuối). Sau đây là một ví dụ mã sử dụng nhúng Python: #include int main(int argc, char** argv) { Py_SetPythonHome
Giả sử tôi có danh sách sau, tương ứng với giá cổ phiếu theo thời gian thực: giá = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4, 11] Tôi muốn xác định giá trị tốt nhất tổng thể sau đây
Vì vậy, tôi đang cố gắng thay đổi hình nền của khung này khi một nút radio nào đó được chọn. Khung của tôi nằm bên trong một lớp và chức năng của các nút radio nằm bên ngoài lớp đó. (Để tôi có thể gọi chúng trên tất cả các khung khác.) Vấn đề là bất cứ khi nào tôi chọn một nút radio, tôi nhận được lỗi sau:
Tôi đang cố gắng so sánh một chuỗi với một biểu thức chính quy trong python như sau, #!/usr/bin/env python3 import re str1 = "Expecting property name
Hãy xem xét mô-đun Boost.Python nguyên mẫu sau đây nhập lớp "D" từ một tệp tiêu đề C++ riêng biệt. /* tập tin: a/b.cpp */ BOOST_PYTHON_MODULE(c)
Làm thế nào để viết một chương trình để "xác định số dòng của lệnh gọi hàm?" Mô-đun kiểm tra của Python cung cấp tùy chọn để xác định vị trí số dòng, tuy nhiên, def di(): return inspect.currentframe().f_back.f_l
Tôi đã cài đặt Python 2.7 bằng macports và do biến $PATH của tôi nên đây là những gì tôi nhận được khi nhập $ python. Tuy nhiên, virtualenv sử dụng Python 2.6 theo mặc định, ngoại trừ
Tôi chỉ muốn hỏi làm thế nào để tăng tốc độ tìm kiếm trên python. Tôi có một chuỗi ký tự rất dài, dài 176861 (tức là các ký tự chữ và số có một số ký hiệu) mà tôi đã thử nghiệm cho mục đích nghiên cứu bằng cách sử dụng hàm này: def getExe
list1 = [u'%app%%General%%%Council%', u'%people%', u'%people%%Regional%%%Council%%Mandate%', u'%ppp%%Ge
Câu hỏi này đã có câu trả lời tại đây: Có phải Pythonic sử dụng danh sách hiểu biết chỉ cho các tác dụng phụ không? (7 câu trả lời) Đã đóng 4 tháng trước. kể
Tôi muốn kết hợp hai danh sách thành một danh sách trong Python như sau: a = [1,1,1,2,2,2,3,3,3,3] b = ["Sun", "is", "bright", "June","and" ,"Ju
Tôi đang chạy Mac OS X 10.8.4 (Darwin 12.4.0) với bản phân phối Boost mới nhất (1.55.0). Tôi đang làm theo hướng dẫn ở đây để xây dựng hướng dẫn Boost-Pyth có trong bản phân phối của tôi
Tôi đang học Python và đang cố gắng tạo một trình thu thập dữ liệu web mà không cần bất kỳ thư viện của bên thứ 3 nào nên quy trình không được đơn giản hóa đối với tôi và tôi biết mình đang làm gì. Tôi đã tìm kiếm một số tài liệu trực tuyến nhưng tất cả đều khiến tôi bối rối về một điều gì đó. html trông giống như
Tôi là một lập trình viên xuất sắc, rất giỏi!