小编use*_*467的帖子

Python在列表中删除元组的第一个元素

我正在打开一个csv文件并将其插入列表中.我也忽略了文件的第一行,因为它不需要:

with open('test.csv', 'rb') as f:

        next(f,None)

        reader = csv.reader(f)
        a_list = map(tuple, reader)

print a_list
Run Code Online (Sandbox Code Playgroud)

输出为:[('1,'hi','you'),('2','bye','bye')]

但是,不需要每个元组的第一个元素.我做了足够的研究,知道我无法操纵元组,但我似乎无法找到答案如何成功删除a_list中每个元组的第一个元素.谢谢

python

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

Python:将 NLTK 斯坦福 POS 标签映射到 WordNet POS 标签

我正在阅读一个句子列表,并使用 NLTK 的斯坦福 POS 标记器标记每个单词。我得到这样的输出:

wordnet_sense = []

for o in output:
    a = st.tag(o)
    wordnet_sense.append(a)
Run Code Online (Sandbox Code Playgroud)

输出:[[(u'feel', u'VB'), (u'great', u'JJ')], [(u'good', u'JJ')]]

我想将这些单词与其词性进行映射,以便在 WordNet 中识别它们。

我已经尝试过这个:

sense = []

for i in wordnet_sense:
    tmp = []

    for tok, pos in i:
        lower_pos = pos[0].lower()

        if lower_pos in ['a', 'n', 'v', 'r', 's']:
            res = wn.synsets(tok, lower_pos)
            if len(res) > 0:
                a = res[0]
        else:
            a = "[{0}, {1}]".format(tok, pos)

        tmp.append(a)

    sense.append(tmp)

print sense
Run Code Online (Sandbox Code Playgroud)

输出:[Synset('feel.v.01'), '[great, JJ]'], ['[good, JJ]']] …

python nlp nltk wordnet part-of-speech

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

Python字符串替换

我试图用另一个词替换一个词的出现:

word_list = { "ugh" : "disappointed"}

tmp = ['laughing ugh']

for index, data in enumerate(tmp):
    for key, value in word_list.iteritems():
        if key in data:
            tmp[index]=data.replace(key, word_list[key])

print tmp
Run Code Online (Sandbox Code Playgroud)

而这有效...... ughin的出现laughing也在输出中被替换:ladisappointeding disappointed.

如何避免这种情况,以便输出是laughing disappointed

python string

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

合并列表列表

我有两个列表,列表具有相同数量的项目.这两个列表如下所示:

L1 = [[1, 2], [3, 4], [5, 6, 7]]

L2 =[[a, b], [c, d], [e, f, g]]

我想创建一个看起来像这样的列表:

Lmerge = [[[a, 1], [b,2]], [[c,3], [d,4]], [[e,5], [f,6], [g,7]]]

我试图使用map():

map(list.__add__, L1, L2) 但输出产生一个平面列表.

组合两个列表列表的最佳方法是什么?提前致谢.

python merge list

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

Python随机将值从一个列表委托给另一个列表

我有两个清单

  a_list = ['a', 'b', 'c']

  b_list = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

将列表值从b_list随机委托给新列表中的大元组的最佳方法是什么:

   c_list = [('a','1'), ('b','3'), ('c','1')]
Run Code Online (Sandbox Code Playgroud)

python

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

Python从列表中删除一个措辞字符串

words = [['hey', 'hey you'], ['ok', 'ok no', 'boy', 'hey ma']]
Run Code Online (Sandbox Code Playgroud)

我有一个包含字符串的列表列表.我理解如何从列表中删除特定元素,但不知道如何删除只有一个单词的元素.我想要的输出是:

final = [['hey you'], ['ok no', 'hey ma']]
Run Code Online (Sandbox Code Playgroud)

我正在尝试但我认为这是完全错误的....

remove = [' ']
check_list = []

for i in words:
    tmp = []
    for v in i:
        a = v.split()
        j = ' '.join([i for i in a if i not in remove])
        tmp.append(j)

    check_list.append(tmp)
print check_list
Run Code Online (Sandbox Code Playgroud)

python

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

熊猫groupby,包含和

                             BUILDING                 UNITS
0                      01 ONE FAMILY DWELLINGS        168.0
1                      02 TWO FAMILY DWELLINGS        269.0
2                    03 THREE FAMILY DWELLINGS        234.0
3                        04 TAX CLASS 1 CONDOS          0.0
4                       06 TAX CLASS 1 - OTHER          0.0
5               07 RENTALS - WALKUP APARTMENTS      10232.0
6             08 RENTALS - ELEVATOR APARTMENTS      15136.0
7                 09 COOPS - WALKUP APARTMENTS          0.0
8               10 COOPS - ELEVATOR APARTMENTS          0.0
9                            11A CONDO-RENTALS          0.0
10               12 CONDOS - WALKUP APARTMENTS          0.0
11             13 CONDOS - ELEVATOR APARTMENTS …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Python从字符串中删除分隔符

我有2个相关的问题/问题.

def remove_delimiters (delimiters, s):
    for d in delimiters:
        ind = s.find(d)
        while ind != -1:
            s = s[:ind] + s[ind+1:]
            ind = s.find(d)

    return ' '.join(s.split())


delimiters = [",", ".", "!", "?", "/", "&", "-", ":", ";", "@", "'", "..."]
d_dataset_list = ['hey-you...are you ok?']
d_list = []

for d in d_dataset_list:
    d_list.append(remove_delimiters(delimiters, d[1]))

print d_list
Run Code Online (Sandbox Code Playgroud)

输出= 'heyyouare you ok'

  1. 删除分隔符时,避免将字符串组合在一起的最佳方法是什么?例如,输出是hey you are you ok

  2. 可能存在许多不同的序列...,例如..或者..........等等.如何实现某种形式的规则,如果不止一个规则.出现在彼此之后,将其删除?我想尝试避免在我的分隔符列表中对所有序列进行硬编码.谢谢

python

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

Python Pandas 如何获得最接近给定日期的日期

   date
0  09-2019
1  10-2019
2  11-2019
4  01-2020
5  02-2020
7  04-2020
Run Code Online (Sandbox Code Playgroud)

我有一个dates像上面这样的熊猫数据框- 这不是以任何方式订购的。我将日期列设置为日期时间类型并仅选择月份和年份,如下所示:

dates['date'] = pd.to_datetime(dates['date'], errors='ignore')
dates['date'] = dates['date'].dt.strftime("%m-%Y")
Run Code Online (Sandbox Code Playgroud)

我想选择与给定日期最接近的行,我设置如下:

latest_date = max(dates['date'])
latest_date = latest_date.strftime("%m-%Y")
Run Code Online (Sandbox Code Playgroud)

这给了我05-2020。如何使用的nearest方法选择的日期dates最接近等于latest_date?该示例的预期输出应该是04-2020.

我试过这个:

dates.iloc[dates.index.get_loc(datetime.datetime(latest_date),method='nearest')]
Run Code Online (Sandbox Code Playgroud)

但我得到一个AttributeError: type object 'datetime.datetime' has no attribute 'datetime'. 这是否意味着我没有正确转换日期列?

python pandas

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

标签 统计

python ×9

pandas ×2

list ×1

merge ×1

nlp ×1

nltk ×1

part-of-speech ×1

string ×1

wordnet ×1