2013-1-15

// 	CInternetSession session;
	// 	CHttpFile *file = NULL; 
	// 	//CString strURL = "http://blog.youkuaiyun.com/zbc_vc/article/details/8505509";
	// 
	// 	CString strURL = "http://blog.youkuaiyun.com/zbc_vc/article/details/8505661";
	// 	CString strHtml = "";   //存放网页数据
	
	CString  url=L"http://blog.youkuaiyun.com/zbc_vc/article/details/8505661";
	
	UpdateData(TRUE);
	CInternetSession session("HttpClient"); 
	CString  strHtml;
	
	CHttpFile* pfile = (CHttpFile *)session.OpenURL(url);    
	
    DWORD dwStatusCode;    
	pfile -> QueryInfoStatusCode(dwStatusCode);   
	CString content;  
    if(dwStatusCode == HTTP_STATUS_OK)    
	{    
		
		CString data;    
		//  while (pfile -> ReadString(data))    
		while (pfile -> ReadString(data))   
		{    
			content += data + "\r\n";    
		}    
		content.TrimRight();    
		strHtml=((LPCTSTR)content);    
		UpdateData(FALSE);
	}    
	pfile -> Close();    
    delete pfile;    
	session.Close();    
	
	wchar_t* pWChar = NULL;
	DWORD  nLen1;
	// 将网页UTF-8格式编码转换成Unicode
	nLen1 = MultiByteToWideChar(CP_UTF8,0,content,content.GetLength(),pWChar,0); //如果是GBE,把CP_UTF8改为CP_MACCP就行了
	pWChar = new wchar_t[nLen1 + 1];
	memset(pWChar,0,(nLen1 + 1 ) * sizeof(wchar_t));
	MultiByteToWideChar(CP_UTF8,0,content,content.GetLength(),pWChar,nLen1);
	
	char* pChar = NULL;
	DWORD nLen2;
	nLen2 = WideCharToMultiByte(CP_ACP,0,pWChar,nLen1,pChar,0,NULL,NULL); 
	pChar = new char[nLen2 + 1];
	memset(pChar,0, nLen2 + 1);
	WideCharToMultiByte(CP_ACP,0,pWChar,nLen1,pChar,nLen2,NULL,NULL);
	// 查找登录时服务器时返回的信息
	CString ftxt;
	
	content.Format("%s",pChar) ; 
	ftxt = pChar;
	
	int n,n1;
	n=ftxt.Find('#');
	n1=ftxt.Find('$');
	CString a;
	a=ftxt.Mid(n+1,n1-n-1);
	
	SetDlgItemText(IDC_EDIT1,a);  
	

`pd.pivot_table` 是 Pandas 库中用于创建数据透视表的函数,其作用是对数据进行重塑和聚合,使数据更加直观和易于分析,类似于 Excel 中的数据透视表功能。以下是对 `pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])` 原理和结果的详细解释: ### 原理 - **参数解释**: - `df`:这是要进行数据透视操作的源 DataFrame。 - `values`:指定要进行聚合操作的列,这里是 `'D'`,意味着会对 `D` 列的数据进行聚合。 - `index`:指定作为行索引的列,这里是 `['A', 'B']`,表示会根据 `A` 列和 `B` 列的值来确定行的分组。 - `columns`:指定作为列索引的列,这里是 `['C']`,表示会根据 `C` 列的值来确定列的分组。 - **操作过程**: 1. 函数会根据 `index` 和 `columns` 中指定的列对源 DataFrame 进行分组。 2. 对于每个分组,会提取 `values` 列中的数据。 3. 默认情况下,会对提取的数据进行求平均值的聚合操作(可以通过 `aggfunc` 参数指定其他聚合函数)。 4. 最后将聚合结果填充到以 `index` 为行索引、`columns` 为列索引的新 DataFrame 中。 ### 示例代码及结果 假设我们有以下示例 DataFrame: ```python import pandas as pd import numpy as np data = { 'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'], 'B': ['one', 'one', 'two', 'two', 'one', 'one'], 'C': ['x', 'y', 'x', 'y', 'x', 'y'], 'D': [1, 2, 3, 4, 5, 6] } df = pd.DataFrame(data) result = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C']) print(result) ``` ### 结果分析 - 生成的结果是一个新的 DataFrame,其行索引由 `A` 列和 `B` 列的值组合而成,列索引由 `C` 列的值组成。 - 表格中的每个单元格是对应分组下 `D` 列数据的平均值。例如,对于 `A` 为 `foo`、`B` 为 `one`、`C` 为 `x` 的分组,`D` 列只有一个值 `1`,所以该单元格的值为 `1`;对于 `A` 为 `bar`、`B` 为 `one`、`C` 为 `y` 的分组,`D` 列的值为 `6`,所以该单元格的值为 `6`。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值