标签: normalize

将范围内的任何值(-inf ... + inf)归一化为(0 ... 1).可能吗?

如果我们具有max..min值的具体范围,很容易将其标准化为0..1浮点值,但是如果我们没有具体限制?是否可以构建通用函数以使输出在0和1之间?在我看来,我认为这是不可能的,但我不是数学专家.

我正在寻找JavaScript或PHP的实现,但是C/C++/Python/Delphi上的任何代码都可以提供示例(如果有的话)

math range normalize

4
推荐指数
1
解决办法
2433
查看次数

按组标准化

我正在尝试按项目规范化StrengthCode

例如

ID    Item    StrengthCode
7     A       1
7     A       5
7     A       7
8     B       1
8     B       3
9     A       5
9     A       3
Run Code Online (Sandbox Code Playgroud)

我需要实现的是这样的:

ID    Item    StrengthCode    Nor
7     A       1    0.14
7     A       5    0.71
7     A       7    1
8     B       1    0.34
8     B       3    1
9     A       5    0.71
9     A       3    0.42
Run Code Online (Sandbox Code Playgroud)

我尝试了这段代码,但是我被困了......如果你能帮助我会很棒!!!

normalit <- function(m){(m - min(m))/(max(m)-min(m))}

Tbl.Test <- Tbl.3.1 %>%
  group_by(ID, Item) %>%
  mutate(Nor = normalit(StregthCode))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

强制引入的警告消息NAs

r normalize dplyr

4
推荐指数
1
解决办法
3760
查看次数

如何在MATLAB中对列的平均值进行规范化?

我正在尝试采用矩阵并将每个单元格中的值标准化为该列的平均值.通过标准化,我的意思是从该列中的平均值中减去每个单元格中的值,即从Column1中的值中减去Column1的平均值...从ColumnN中的值减去ColumnN的平均值.我在Matlab中寻找脚本.谢谢!

matlab normalize

3
推荐指数
1
解决办法
6798
查看次数

归一化矢量时异常低的浮点精度

我的代码中有一个简短的方法来规范化矢量(实际上是PCL点),这会产生低精度的结果.代码:

void normalize(pcl::PointXYZ::PointXYZ * p){
  float nf = 1/sqrt(p->x*p->x+p->y*p->y+p->z*p->z);
  //nf is a normalization factor precalculated to eliminate two FP divisions.
  p->x*=nf; p->y*=nf; p->z*=nf;
}
Run Code Online (Sandbox Code Playgroud)

该函数通过坐标点传递(-0.850650787, 1.37638187, -0.525731087).调试显示nf=0.587785244在评估第二行之后.当我在Mathematica中进行相同的计算时,nf=0.617708029.这是一个超过5%的错误!p的坐标绝不大于2或小于-2.这些操作的典型不准确,还是有问题?

c++ floating-point vector normalize

3
推荐指数
1
解决办法
462
查看次数

在matlab中规范化矩阵

我有一个用双精度表示的rgb图像矩阵(高度*宽度*3).在对矩阵进行一些操作之后,一些值变为biger然后是1或小于0.我需要将这些值归一化为1和0.谢谢.

matlab normalize matrix

3
推荐指数
1
解决办法
1万
查看次数

归一化TF-IDF结果

我想规范化我从这个给定代码得到的tfidf结果:

for (int docNum = 0; docNum < ir.numDocs(); docNum++) {
            TermFreqVector tfv = ir.getTermFreqVector(docNum, "contents");
            if (tfv == null) {
                // ignore empty fields
                continue;
            }
            String[] tterms = tfv.getTerms();
            int termCount = tterms.length;
            int[] freqs = tfv.getTermFrequencies();
            for (int t = 0; t < termCount; t++) {
                double idf = ir.numDocs() / ir.docFreq(new Term("contents", tterms[t]));
                System.out.println(" " + tterms[t] + " " + freqs[t]*Math.log(idf));
            }
        }
Run Code Online (Sandbox Code Playgroud)

此代码的输出是:

area 0.0
areola 5.877735781779639
ari 3.9318256327243257
art 1.6094379124341003
artifici 1.0986122886681098
assign …
Run Code Online (Sandbox Code Playgroud)

normalize normalization tf-idf

3
推荐指数
1
解决办法
1万
查看次数

规范化多索引数据框中的值?

如何规范化多索引数据框?

假设我有数据帧:

d = pd.DataFrame([["a",1,3],["a",2,2],["b",4,4],["b",5,8]], 
                  columns=["name","value1","value2"])
Run Code Online (Sandbox Code Playgroud)

如何计算每个"名称"的标准化值?

我知道如何规范化基本数据帧:

d = (d-d.mean(axis=0))/data.std(axis=0, ddof=1)
Run Code Online (Sandbox Code Playgroud)

但是我无法在我的数据帧的每个"名称"组中应用它

所以我想要的结果是:

name, value1, value2
a     -0.5     0.5
a      0.5    -0.5
b     -0.5    -1
b      0.5     1
Run Code Online (Sandbox Code Playgroud)

我尝试了groupby和一个多索引数据框,但可能我没有以正确的方式做到这一点

normalize multi-index dataframe pandas

3
推荐指数
1
解决办法
2876
查看次数

在同一图表上绘制两个直方图,并使其列总和为100

我有两套不同的尺寸,我想在同一直方图上绘制.然而,由于一组具有~330,000个值而另一组具有大约~16,000个值,因此它们的频率直方图难以比较.我想绘制比较两组的直方图,使得y轴是该区域中出现的百分比.下面我的代码获取接近此,除了不是具有单个分级值总和为1.0,直方图总和为1.0的积分(这是因为范= True参数的).

我怎样才能实现目标?我已经尝试过手动计算%频率并使用plt.bar()但不是覆盖图,而是将图并排比较.我想保持alpha = 0.5的效果

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

if plt.get_fignums():
    plt.close('all')

electric = pd.read_csv('electric.tsv', sep='\t')
gas = pd.read_csv('gas.tsv', sep='\t')

electric_df = pd.DataFrame(electric)
gas_df = pd.DataFrame(ngma_nonheat)

electric = electric_df['avg_daily']*30
gas = gas_df['avg_daily']*30


## Create a plot for NGMA gas usage
plt.figure("Usage Comparison")

weights_electric = np.ones_like(electric)/float(len(electric))
weights_gas = np.ones_like(gas)/float(len(gas))

bins=np.linspace(0, 200, num=50)

n, bins, rectangles = plt.hist(electric, bins, alpha=0.5, label='electric usage', normed=True, weights=weights_electric)
plt.hist(gas, bins, alpha=0.5, label='gas usage', normed=True, weights=weights_gas)

plt.legend(loc='upper right')
plt.xlabel('Average …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib normalize histogram

3
推荐指数
1
解决办法
8206
查看次数

json_normalize JSON 文件,其中包含包含字典的列表(包括示例)

这是我正在使用 2 条记录的示例 json 文件:

[{"Time":"2016-01-10",
"ID"
:13567,
"Content":{
    "Event":"UPDATE",
    "Id":{"EventID":"ABCDEFG"},
    "Story":[{
        "@ContentCat":"News",
        "Body":"Related Meeting Memo: Engagement with target firm for potential M&A.  Please be on call this weekend for news updates.",
        "BodyTextType":"PLAIN_TEXT",
        "DerivedId":{"Entity":[{"Id":"Amy","Score":70}, {"Id":"Jon","Score":70}]},
        "DerivedTopics":{"Topics":[
                            {"Id":"Meeting","Score":70},
                            {"Id":"Performance","Score":70},
                            {"Id":"Engagement","Score":100},
                            {"Id":"Salary","Score":70},
                            {"Id":"Career","Score":100}]
                        },
        "HotLevel":0,
        "LanguageString":"ENGLISH",
        "Metadata":{"ClassNum":50,
                    "Headline":"Attn: Weekend",
                    "WireId":2035,
                    "WireName":"IIS"},
        "Version":"Original"}
                ]},
"yyyymmdd":"20160110",
"month":201601},
{"Time":"2016-01-12",
"ID":13568,
"Content":{
    "Event":"DEAL",
    "Id":{"EventID":"ABCDEFG2"},
    "Story":[{
        "@ContentCat":"Details",
        "Body":"Test email contents",
        "BodyTextType":"PLAIN_TEXT",
        "DerivedId":{"Entity":[{"Id":"Bob","Score":100}, {"Id":"Jon","Score":70}, {"Id":"Jack","Score":60}]},
        "DerivedTopics":{"Topics":[
                            {"Id":"Meeting","Score":70},
                            {"Id":"Engagement","Score":100},
                            {"Id":"Salary","Score":70},
                            {"Id":"Career","Score":100}]
                        },
        "HotLevel":0,
        "LanguageString":"ENGLISH",
        "Metadata":{"ClassNum":70,
                    "Headline":"Attn: Weekend",
                    "WireId":2037,
                    "WireName":"IIS"}, …
Run Code Online (Sandbox Code Playgroud)

python json normalize python-3.x pandas

3
推荐指数
1
解决办法
4562
查看次数

如何使用嵌套字典列表展平 pandas 数据框中的列

我收到了单个 JSON(500 个 JSON),并通过使用append()方法将它们添加到现有列表的末尾来对其进行修改。

d_path = r'--PATH HERE--'
d_files = [f for f in listdir(d_path) if isfile(join(d_path,f))]
n = num_data
d_dicts=[]
for counter,d_file in enumerate(d_files):
    with open(d_path+'\\'+d_file,encoding="utf8") as json_data:
        d_dicts.append(json.load(json_data))

    if counter == num_data:
        break
Run Code Online (Sandbox Code Playgroud)

在此步骤之后,我尝试使用 json_normalize 将 JSON 数据规范化为平面表(总共 500 行的 Pandas DataFrame)。

df = json_normalize(d)
Run Code Online (Sandbox Code Playgroud)

附加信息:

class 'pandas.core.frame.DataFrame'

dtypes: float64(8), int64(3), object(9)

到目前为止,除了一栏之外,一切进展顺利。我最终得到了一列,每一行都有一个字典列表。我试图寻找一种解决方案,但找不到对我有帮助的解决方案。每行都有一个嵌套字典。

以下是名为Info_column的列的三行示例,其中包含虚构数据但结构相同:

Info_column

[{**'Greeting':** 'Good day', 'Group': '1.2', 'Window': None, 
'Value1': 17.0, 'Value2': 13.23, 'Value3': 11.0, 
'Date1': '2013-09-04', 'Date2': '2012-09-05', 'Date3': '2015-07-22', 
'Married': False, …
Run Code Online (Sandbox Code Playgroud)

python json normalize pandas

3
推荐指数
1
解决办法
4831
查看次数