小编Mig*_*488的帖子

如何反转log2转换

我有这种形式的数据:

        ds           y
1   2015-12-31 51737806366
2   2016-01-01   451800500
3   2016-01-04    48503189
4   2016-01-06      221000
5   2016-01-07   542483038
6   2016-01-08   628189789
7   2016-01-09   556762005
8   2016-01-10   195672447
9   2016-01-11   279202668
10  2016-01-12   540234196
11  2016-01-13  3403591404
12  2016-01-14   610409176
Run Code Online (Sandbox Code Playgroud)

'y'列上的值表示收入,货币单位.我以原始形式对这些数据进行了探索性绘图,发现该图不太有用,数据的视觉效果不合适,所以为了改进我的可视化,我将一个log2()转换应用到了'y'列...它工作得很好:

        ds        y
1   2015-12-31 35.59050
2   2016-01-01 28.75111
3   2016-01-04 25.53158
4   2016-01-06 17.75369
5   2016-01-07 29.01500
6   2016-01-08 29.22663
7   2016-01-09 29.05249
8   2016-01-10 27.54387
9   2016-01-11 28.05674
10  2016-01-12 29.00901
11  2016-01-13 31.66441 …
Run Code Online (Sandbox Code Playgroud)

math logarithm r dplyr

7
推荐指数
1
解决办法
6121
查看次数

如果字符串与列表中的字符串匹配,我如何从句子中删除字符串

我有一个pandas.Series像这样的句子:

0    mi sobrino carlos bajó conmigo el lunes       
1    juan antonio es un tio guay                   
2    voy al cine con ramón                         
3    pepe el panadero siempre se porta bien conmigo
4    martha me hace feliz todos los días 
Run Code Online (Sandbox Code Playgroud)

另一方面,我有一个像这样的名字和姓氏列表:

l = ['juan', 'antonio', 'esther', 'josefa', 'mariano', 'cristina', 'carlos']

我想将系列中的句子与列表中的名称相匹配。实际数据比这个例子大得多,所以我认为系列和列表之间的元素比较不会有效,所以我创建了一个包含名称列表中所有字符串的大字符串,如下所示:

'|'.join(l)

我尝试创建一个布尔掩码,稍后允许我通过 true 或 false 值索引包含名称列表中名称的句子,如下所示:

series.apply(lambda x: x in '|'.join(l))
Run Code Online (Sandbox Code Playgroud)

但它返回:

0    False
1    False
2    False
3    False
4    False
Run Code Online (Sandbox Code Playgroud)

这显然不行。

我也尝试使用,str.contains()但它的行为不像我预期的那样,因为此方法将查看名称列表中是否存在系列中的任何子字符串,这不是我需要的(即我需要完全匹配)。

你能在这里指出我正确的方向吗?

非常感谢您提前

python nlp list python-3.x pandas

5
推荐指数
1
解决办法
111
查看次数

当每个字典具有不同的键时,如何按值对字典列表进行排序?

我有以下字典列表:

dicts = [{'ENE001SOLC': 3},
 {'TRN002SIGN': 4},
 {'ENE001SOLC': 4, 'TRN002SIGN': 3},
 {'TRN002SIGN': 3},
 {'TRN002SOLC': 3, 'SAL016DECL': 3},
 {'ENE001SOLC': 5, 'SAL016DECL': 3},
 {'ENE001SOLC': 4}]
Run Code Online (Sandbox Code Playgroud)

我想按每个字典中的值以降序对列表进行排序(高位在前)。我已经访问过很多帖子,但是当每个字典的键值相同时,所有帖子都提供了对列表进行排序的解决方案,但事实并非如此。预期的输出将是这样的:

[{'ENE001SOLC': 5, 'SAL016DECL': 3},
{'ENE001SOLC': 4, 'TRN002SIGN': 3},
{'ENE001SOLC': 4},
{'TRN002SIGN': 4},
{'TRN002SOLC': 3, 'SAL016DECL': 3},
{'ENE001SOLC': 3},
{'TRN002SIGN': 3}]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点??任何帮助都感激不尽。

提前非常感谢你

python sorting dictionary python-3.x pandas

4
推荐指数
2
解决办法
66
查看次数

替换python 3中的第一个字符串字符

我有一个像这样的熊猫系列:

0          $233.94
1          $214.14
2          $208.74
3          $232.14
4          $187.15
5          $262.73
6          $176.35
7          $266.33
8          $174.55
9          $221.34
10         $199.74
11         $228.54
12         $228.54
13         $196.15
14         $269.93
15         $257.33
16         $246.53
17         $226.74
Run Code Online (Sandbox Code Playgroud)

我想摆脱美元符号所以我可以将值转换为数字.我做了一个功能,以便这样做:

def strip_dollar(series):
    for number in dollar:
        if number[0] == '$':
            number[0].replace('$', ' ')

    return dollar
Run Code Online (Sandbox Code Playgroud)

这个函数返回原始系列不变,没有任何变化,我不知道为什么.

关于如何做到这一点的任何想法?

提前致谢

python string replace python-3.x pandas

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

如何迭代字典并使用其元素进行操作?

我有这个字典,其中键表示原子类型,值表示原子质量:

mass = {'H': 1.007825, 'C': 12.01, 'O': 15.9994, 'N': 14.0067, 'S': 31.972071,
        'P': 30.973762}
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个给出分子的函数,例如('H2-N-C6-H4-C-O-2H'),迭代mass字典并计算给定分子上的原子质量.质量的值必须乘以原子类型后面的数字:H2 = H.value * 2

我知道,首先我必须隔离给定分子的键,为此我可以使用string.split('-').然后,我想if如果给定分子的键在字典中,我可以使用和阻止建立条件来完成.但后来我迷失了我应该如何继续为字典中的每个键找到质量.

预期结果应该是这样的:

mass_counter('H2-N15-P3')

out[0] 39351.14
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

编辑:

这是我到目前为止所尝试的

# Atomic masses
mass = {'H': 1.007825, 'C': 12.01, 'O': 15.9994, 'N': 14.0067, 'S': 31.972071, 
        'P': 30.973762}

def calculate_atomic_mass(molecule):
    """
    Calculate the atomic mass of a given molecule
    """
    mass = 0.0
    mol = molecule.split('-')

    for key in mass:
        if key in mol: …
Run Code Online (Sandbox Code Playgroud)

python dictionary loops python-2.7

2
推荐指数
1
解决办法
149
查看次数

我如何将字符串列表与另一个匹配

我有 2 个字符串列表:

['Tipo de fertilizante',
 'N',
 'P2O5',
 'K2O',
 'S',
 'CaO',
 'MgO',
 'Zn',
 'Solubilidad g/100cc H2O',
 'Precio (€/100 kg)',
 '€/UF (N)',
 '€/UF (P2O5)',
 '€/UF (K2O)',
 '€/UF (S)',
 '€/UF (CaO)',
 '€/UF (MgO)',
 'JERARQUIA - (N)',
 'JERARQUIA - (P2O5)',
 'JERARQUIA - (K2O)',
 'JERARQUIA - (S)',
 'JERARQUIA - (CaO)',
 'JERARQUIA - (MgO)',
 'Abono']
Run Code Online (Sandbox Code Playgroud)

这是第二个:

['JERARQUIA - (N)',
 'JERARQUIA - (P2O5)',
 'JERARQUIA - (K2O)',
 'JERARQUIA - (S)',
 'JERARQUIA - (CaO)',
 'JERARQUIA - (MgO)']
Run Code Online (Sandbox Code Playgroud)

我想获取包含在第二个元素中的第一个元素,因此所需的结果是:

['N',
 'P2O5',
 'K2O',
 'S',
 'CaO',
 'MgO', 
 'JERARQUIA - (N)',
 'JERARQUIA …
Run Code Online (Sandbox Code Playgroud)

python string list match python-3.x

0
推荐指数
1
解决办法
68
查看次数

标签 统计

python ×5

python-3.x ×4

pandas ×3

dictionary ×2

list ×2

string ×2

dplyr ×1

logarithm ×1

loops ×1

match ×1

math ×1

nlp ×1

python-2.7 ×1

r ×1

replace ×1

sorting ×1