經過幾天的研究,我被卡住了。對Python /熊貓來說是新手。嘗試將多個Excel表單中的數據分析轉換爲Python解決方案。如何在熊貓中進行groupeby計數?
我正在計算新人在特定技能的學習曲線。要做到這一點,我有以下數據集:
- COMM_ID - 每個通信唯一的數字標識符
- 技能 - 溝通的範疇 - 文本
- LOGIN - 登錄的人 - 文本
- 優惠 - 是一個調查發送,1個或0
- 反應 - 在那裏調查的響應,1或0
- NOS - 陰性,響應爲1或0
在下面我建立數據框,按SKill,Login和COMM_ID排序。 COMM_ID按時間順序排列。然後我通過技能和登錄groupby。
我該如何取數據框並將數據剪切成兩個數據框?一個用於響應,另一個用於Nos,每個技能和登錄組合以50個增量爲單位。需要查看50個COMM_ID(50,100,150)的每個段,並計算每個段中有多少個1。這將適用於所有技能/登錄組合。 1的總和然後將進入數據框的每個箱。
我嘗試過pandas.cut的變體,但沒有成功。
import pandas as pd
import numpy as np
import odbc
from pandas import DataFrame
#Call ODBC connection
db = odbc.odbc('HID')
# SQL Query to get data
sqlRRAgentSkill = """
SELECT
COMM_ID,
SKILL,
LOGIN,
OFFERS,
RESPONSES,
NOs
FROM
2013_2014;
"""
#Call SQL
RRdata = pd.read_sql_query(sqlRRAgentSkill,db)
#Sort data
RRDataSorted = RRdata.sort_index(ascending=[True,True,True], by = ['SKILL', 'LOGIN', 'COMM_ID'])
# Group data by Skill and Login
grouped = RRDataSorted.groupby(['SKILL', 'LOGIN'])
# Bins for contacts
startBin = 0
stopBin = 1000
incrementBin = 50
sortbins = np.arange(startBin, stopBin + incrementBin, incrementBin)
和問題是什麼? .. –
對不起,當我寫這篇文章的時候已經很晚了......我編輯了這個問題。 「我如何獲取數據框並將數據剪切成兩個數據框?一個用於響應,另一個用於Nos,對於技能和登錄的每個組合,每個組合的增量爲50。 –