我想将两个数组(x 和 y)转换为频率nxn矩阵(n = 5),指示每个单元格包含的点数。它包括将两个变量重新采样为五个间隔,并计算每个单元格的现有点数。
我曾尝试使用 pandas pivot_table但不知道引用每个轴坐标的方式。X 和 Y 数组是两个因变量,包含 0 到 100 之间的值。
我真的很感激有人的帮助。非常感谢您提前。
这是代码的示例:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Arrays example. They are always float type and ranging 0-100. (n_size array = 15)
x = 100 * np.random.random(15)
y = 100 * np.random.random(15)
# Df created for trying to pivot and counting values per cell
df = pd.DataFrame({'X':x,'Y':y})
# Plot the example …Run Code Online (Sandbox Code Playgroud) 我在Excel电子表格中有一个大型数据表,基本上可以被认为是被识别为属于各种子群体的个人的价值集合:
IndivID SubPopID Value
1 A 33.56
2 E 42.31
3 D 16.35
4 A 50.59
5 F 80.63
...
Run Code Online (Sandbox Code Playgroud)
该表中有超过10,000个人,超过50个子群体.
我想计算每个子群体的5个数字摘要(Min,Q1,Median,Q3,Max).
枢轴表中的最小值和最大值很容易.但Q1,Q2(中位数)和Q3似乎不可能.
题
有没有办法计算Excel中数据透视表中每个子群的四分位数?
答案应如下所示:
SubPopID Min Q1 Q2 Q3 Max
A 3.23 12.06 20.35 28.29 50.59
B
C
...
Run Code Online (Sandbox Code Playgroud) 我在Excel 2010工作
假设您的原始数据中有合法的日期字段,日期为2015年1月1日.然后,在行标签中创建一个带有日期字段的数据透视表.
现在假设您希望按月显示结果,因此右键单击"组字段"并选择按月分组.
现在,您的数据以Mmm格式显示数月.你会如何改变它的Mmmm格式?或者如果你想将它显示为数字(即Jan显示为1)该怎么办
对于有时间戳的日期和按日分组的日期怎么样?数据透视表将日期显示为D-Mmm.如果我想要MM/DD/YYYY怎么办?
是的,我已经尝试通过右键单击 - >字段设置 - >数字格式来更改它.它没用.
在我的数据透视表中,当我使用行标签过滤数据时,它会显示复选框列表,您可以在其中选择要包含的一个或多个或所有项目,此列表包括不再存在的项目.或者,如果您转到数据透视表字段列表并选择该字段并尝试在那里进行过滤,则会显示相同的内容.
也就是说,我曾经在我的Excel电子表格(数据透视表的源代码)中的该列中有一个特定项目,一个月前我停止使用该特定项目,因此它不再出现在数据源中.但是,它仍显示在数据透视表中行标签的复选框列表中.我怎样才能删除这些?刷新数据透视表不能解决此问题.已经有很多不同的盒子,这使得阅读起来更加困难.
谢谢你的帮助
我正在适应一项新工作,我与同事分享的大部分工作都是通过MS Excel进行的.我经常使用数据透视表,因此需要"堆叠"数据,恰好是R melt()中的reshape(reshape2)包中的函数输出,我已经依赖它了.
任何人都可以让我开始使用VBA宏来完成此任务,还是已经存在?
宏的轮廓将是:
换句话说,输出看起来与在R中简单地执行这两行的输出完全相同:
require(reshape)
melt(your.unstacked.dataframe, id.vars = 1:4)
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
# unstacked data
> df1
Year Month Country Sport No_wins No_losses High_score Total_games
2 2010 5 USA Soccer 4 3 5 9
3 2010 6 USA Soccer 5 3 4 8
4 2010 5 CAN Soccer 2 9 7 11
5 2010 6 CAN Soccer 4 8 4 13
6 2009 5 USA Soccer 8 1 4 9
7 2009 6 …Run Code Online (Sandbox Code Playgroud) 我正在创建一个围绕食物过敏的数据库,我在食物和过敏之间有很多关系.还有一个名为的枢轴值severity,其具有表示该食品过敏严重程度的数字.
这个链接表看起来像这样;
food_id|allergy_id|severity
-------|----------|--------
1 | 1 | 3
1 | 4 | 1
2 | 2 | 1
Run Code Online (Sandbox Code Playgroud)
尝试使用Eloquent更新链接表时(其中$allergy_ids是数组)
$food->allergies()->attach($allergy_ids);
Run Code Online (Sandbox Code Playgroud)
如何将此多个值与枢轴值一起添加到此数据透视表?
我可以allergy_id使用上面的行一次性添加特定食品的所有食品,但是我如何severity同时使用各种严重性值的数组添加列?也许是这样的
$food->allergies()->attach($allergy_ids, $severity_ids);
Run Code Online (Sandbox Code Playgroud)
编辑:对于特定食品,可能有0-20个过敏,如果这有帮助,每个过敏的严重等级为0-4.
我需要从大约6000万行的数据集中创建一个2000列的数据透视表,大约30-50万行.我尝试在100,000行的块中进行旋转,这是有效的,但是当我尝试通过执行.append()后跟.groupby('someKey').sum()来重新组合DataFrame时,我的所有内存都被占用了和python最终崩溃.
如何利用有限的RAM量对这么大的数据进行调整?
编辑:添加示例代码
下面的代码包括各种测试输出,但最后一个打印是我们真正感兴趣的.请注意,如果我们将segMax更改为3而不是4,则代码将产生正确输出的误报.主要问题是如果一个shipmentid条目不在每个和(wawa)看的块中,它就不会出现在输出中.
import pandas as pd
import numpy as np
import random
from pandas.io.pytables import *
import os
pd.set_option('io.hdf.default_format','table')
# create a small dataframe to simulate the real data.
def loadFrame():
frame = pd.DataFrame()
frame['shipmentid']=[1,2,3,1,2,3,1,2,3] #evenly distributing shipmentid values for testing purposes
frame['qty']= np.random.randint(1,5,9) #random quantity is ok for this test
frame['catid'] = np.random.randint(1,5,9) #random category is ok for this test
return frame
def pivotSegment(segmentNumber,passedFrame):
segmentSize = 3 #take 3 rows at a time
frame = passedFrame[(segmentNumber*segmentSize):(segmentNumber*segmentSize + …Run Code Online (Sandbox Code Playgroud) 我有两个模型,由一个数据透视表连接,User和Task.
我有一个user_id和一个task_id.
检查用户和任务组合是否存在记录的最佳方法是什么?
我有以下数据框(真正的数据框比这个更大):
sale_user_id sale_product_id count
1 1 1
1 8 1
1 52 1
1 312 5
1 315 1
Run Code Online (Sandbox Code Playgroud)
然后重新塑造它以使用以下代码将sale_product_id中的值作为列标题移动:
reshaped_df=id_product_count.pivot(index='sale_user_id',columns='sale_product_id',values='count')
Run Code Online (Sandbox Code Playgroud)
结果数据框是:
sale_product_id -1057 1 2 3 4 5 6 8 9 10 ... 98 980 981 982 983 984 985 986 987 99
sale_user_id
1 NaN 1.0 NaN NaN NaN NaN NaN 1.0 NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN 1.0 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN …Run Code Online (Sandbox Code Playgroud) pandas.crosstab和Pandas数据透视表似乎都提供了完全相同的功能.有什么不同吗?
pivot-table ×10
pandas ×4
excel ×3
python ×3
eloquent ×2
laravel ×2
numpy ×2
crosstab ×1
dataframe ×1
excel-2007 ×1
excel-2010 ×1
excel-vba ×1
laravel-4 ×1
matrix ×1
php ×1
python-3.x ×1
r ×1
reshape2 ×1
scipy ×1
statistics ×1
vba ×1