## Is your feature request related to a problem?

There's only 2 files where we use pandas, but pandas is 49MB and numpy is another 86MB, slowing down builds massively.

## Describe the solution you'd like

Replace pandas with a pure SQL/Python solution in
- posthog/queries/trends.py
- posthog/queries/sessions.py

Both of those have equivalent examples in Clickhouse (ee/clickhouse) that don't use Pandas.

## Describe alternatives you've considered

Continue using Pandas and clogging builds

## Additional context



#### *Thank you* for your feature request – we love each and every one!

posthog/queries/test/test_trends.py
team=self.team, event="$pageview", distinct_id="p4", timestamp="2020-02-27T12:00:00Z",
            )
            result = trends().run(
                Filter(
                    data={
                        "date_from": "2020-02-05T00:00:00Z",
                        "date_to": "2020-03-09T00:00:00Z",
                        "events": [{"id": "$pageview", "type": "events", "order": 0}],
                        "shown_as": TRENDS_LIFECYCLE,
                        "interval": "week",
                    }
                ),
                self.team,
            )
            self.assertEqual(len(result), 4)
            self.assertEqual(sorted([res["status"] for res in result]), ["dormant", "new", "resurrecting", "returning"])
            self.assertTrue(
                result[0]["days"] == ["2020-02-09", "2020-02-16", "2020-02-23", "2020-03-01", "2020-03-08"]
                or result[0]["days"] == ["2020-02-10", "2020-02-17", "2020-02-24", "2020-03-02", "2020-03-09"]
            )
            for res in result:
                if res["status"] == "dormant":
                    self.assertEqual(res["data"], [0, -2, -1, -1, -1])
                elif res["status"] == "returning":
                    self.assertEqual(res["data"], [1, 1, 0, 1, 0])
                elif res["status"] == "resurrecting":
                    self.assertEqual(res["data"], [0, 0, 1, 0, 0])
                elif res["status"] == "new":
                    self.assertEqual(res["data"], [2, 0, 1, 0, 0])
        def test_lifecycle_trend_months(self):