我试图找到一个字符串列表中的整个单词的数量,继承人的列表
mylist = ["Mahon Point retail park", "Finglas","Blackpool Mahon", "mahon point blanchardstown"]
Run Code Online (Sandbox Code Playgroud)
预期结果:
4
1
2
3
Run Code Online (Sandbox Code Playgroud)
mylist [0]中有4个单词,mylist [1]中有1个单词,依此类推
for x, word in enumerate(mylist):
for i, subwords in enumerate(word):
print i
Run Code Online (Sandbox Code Playgroud)
完全不起作用....
你们有什么感想?
我有一个带有几个奇怪字符的数据框,"*"和" - ".
import pandas as pd
import numpy as np
data = {'year': [2010, 2011, 2012, 2011, 2012, 2010, 2011, 2012],
'team': ['Bears', 'Bears', 'Bears', 'Packers', 'Packers', 'Lions', 'Lions', 'Lions'],
'wins': [11, '*', 10, '-', 11, 6, 10, 4],
'losses': [5, 8, 6, 1, 5, 10, 6, 12]}
football = pd.DataFrame(data, columns=['year', 'team', 'wins', 'losses'])
Run Code Online (Sandbox Code Playgroud)
我想用'0.00'替换奇怪的字符但我得到一个错误 -
error: nothing to repeat
Run Code Online (Sandbox Code Playgroud)
我知道这与正则表达式有关,但我仍然不知道如何克服这个问题.
我用来替换字符的代码:
football.replace(['*','-'], ['0.00','0.00'], regex=True).astype(np.float64)
Run Code Online (Sandbox Code Playgroud) 首先,我仍然是python的新手,所以请放轻松我.
我已经完成了我的研究,并且我对如何编写递归函数有了基本的了解,但我对我前面的任务完全感到困惑.
我真的很喜欢一些提示和指示,所以我自己可以做到这一点,真正理解.
这是任务:
这是问题,
'option'键嵌套在另一个名为'children'的键中.在那里,我想迭代每个'儿童'键,直到它们不再存在.
这是没有递归的代码.当然它失败了,因为它过于陈述,过于僵化.
#level(one/two/three) refer to the level of nesting, easier for me to know where I am in the loop.
#qdf_v2 is a particular type of file which is essentially a dictionary
for levelone in qdf_v2['children']:
if 'children' in levelone:
store = options
for leveltwo in levelone['children']:
if 'children' in leveltwo:
store = options
for levelthree in leveltwo['children']:
if 'children' in levellevel:
repeat....
Run Code Online (Sandbox Code Playgroud)
我想循环通过字典,它是'儿童'键,直到它们不再存在.
这里有一些JSON,你可以在http://www.jsoneditoronline.org/上复制和浏览,看看我在做什么.
{
"base": "http://panoptic-fearless.ldc.yougov.net/questionnaires/Test_maj_demo_newG4_2/versions/12/",
"children": …Run Code Online (Sandbox Code Playgroud) 如何从字典列表中获取给定键的值?
mylist= [
{
'powerpoint_color': 'blue',
'client_name': 'Sport Parents (Regrouped)'
},
{
'sort_order': 'ascending',
'chart_layout': '1',
'chart_type': 'bar'
}
]
Run Code Online (Sandbox Code Playgroud)
'mylist'中的词典数量未知,我想找到附加到键'sort_order'的值.
我失败的尝试:
for key in mylist:
for value in key:
print key['sort_order']
Run Code Online (Sandbox Code Playgroud)
谢谢
我有两个不等长的列表,我想按照第一个列表的顺序比较和拉出匹配的值,所以在这个例子中.
a = ['a','s','d','f']
b = ['e','d','y','a','t','v']
Run Code Online (Sandbox Code Playgroud)
预期产量:
['a','d']
Run Code Online (Sandbox Code Playgroud)
我是这样做的,但我忘记了套装不保留订单!如何编辑下面的代码以保留订单.
set(a).intersection(b)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
print('script executed in {time}{1:.2f} seconds'.format(time=elapsed_time))
Run Code Online (Sandbox Code Playgroud)
我明白了:
IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)
预期产量:
script executed in 0.12 seconds
Run Code Online (Sandbox Code Playgroud) 我有一个清单:
[55, 41, 45, 43, 60, 47, 33, 70, 42, 42, 44]
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列表,按它们的顺序排列这些项目:
预期输出:
[7, ,2 ,9 ,10, 4, 11, 3, 6, 1, 5, 8]
Run Code Online (Sandbox Code Playgroud)
尝试了这 3 个版本的 func 但它不能正常工作,不知道为什么?
def argsort(seq):
#return sorted(range(len(seq)), key = seq.__getitem__)
#return [i for (v, i) in sorted((v, i) for (i, v) in enumerate(seq))]
return [x for x,y in sorted(enumerate(seq), key = lambda x: x[1])]
Run Code Online (Sandbox Code Playgroud)
返回:
[6, 1, 8, 9, 3, 10, 2, 5, 0, 4, 7]
Run Code Online (Sandbox Code Playgroud) 我想从DataFrame中获取一个给定的行,并在前面或附加到同一个DataFrame.
我的代码就是这样,但我不确定我是以正确的方式做到这一点,还是有更简单,更好,更快的方式?
testdf = df.copy()
#get row
target_row = testdf.ix[[2],:]
#del row from df
testdf.drop([testdf.index[2]], axis=0, inplace=True)
#concat original row to end or start of df
newdf = pd.concat([testdf, target_row], axis=0)
Run Code Online (Sandbox Code Playgroud)
谢谢
我有两个带有多列的数据框。
我想比较 df1['postcode'] 和 df2['pcd'] 并根据这两列的匹配值构建一个新的 df。
注意 - 我要匹配的两列的长度不一样。
df1
postcode brand
1 znuee soony
2 eusjk nike
3 zieum addidas
4 psosk ferrari
df2
pcd brand
1 dodkm soony
2 eusjk nike
3 sjksj addidas
4 psosk ferrari
Run Code Online (Sandbox Code Playgroud)
输出:
newdf
pcd brand
1 eusjk nike
2 psosk ferrari
Run Code Online (Sandbox Code Playgroud)
我的尝试,但列上的长度不匹配
newdf = (df2['postcode'] == df1).all(axis=1).astype(int)
Run Code Online (Sandbox Code Playgroud)
我需要使用某种循环功能吗?
我有一个数据框,有两个有用的列1)会计年度,2)日期.我想添加一个显示财政季度的新列.
仅供参考 - 英国财政年度为4月1日至3月31日
我的数据看起来像:
fiscal year date
FY15/16 2015-11-01
FY14/15 2014-10-01
FY15/16 2016-02-01
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
fiscal year date Quarter
FY15/16 2015-11-01 q3
FY14/15 2014-10-01 q3
FY15/16 2016-02-01 q4
Run Code Online (Sandbox Code Playgroud)
真的希望我的季度合适!
下面的代码有效,但我相信它会回归美国的金融区,但我想要英国.
df['Quater'] = df['Date'].dt.quarter
Run Code Online (Sandbox Code Playgroud)