我有一个清单:
lst = [1, 2, 3, 5, 0, 0, 9, 45, 3, 0, 1, 7]
Run Code Online (Sandbox Code Playgroud)
我需要0新列表中s 之间的元素总和.我试过了
lst1 = []
summ = 0
for i, elem in enumerate(lst):
if elem != 0:
summ = summ + elem
else:
lst1.append(summ)
lst1.append(elem)
summ = 0
Run Code Online (Sandbox Code Playgroud)
但它回归[11, 0, 0, 0, 57, 0],而我期待
[11, 0, 0, 57, 0, 8]
我有一本字典
{u'__': 2, u'\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430': 1, u'\u041f\u043e\u0447\u0435\u043c\u0443': 1, u'\u041d\u0430\u043c': 1, u'\u043e\u0434\u0438\u043d': 1, u'\u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438': 1, u'\u041f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0442\u0438': 1, u'\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e,': 1, u'\u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443': 1, u'\u043d\u0430\u0448\u0435\u0439': 2, u'\u0441\u0438\u0441\u0442\u0435\u043c\u0443': 1, u'\u0441\u0431\u043e\u0440\u0430': 1, u'\u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c.': 1, u'[](//www.yandex.ru)': 1, u'\u0412\u0430\u043c': 1, u'\u0430': 102, u'\u0432\u0438\u0440\u0443\u0441\u043e\u0432,': 1, u'\u043e\u0447\u0435\u043d\u044c': 1, u'\u0438': 90, u'\u0440\u0430\u0437.': 1, u'[cureit](http://www.freedrweb.com/?lng=ru)': 1, u'\u043d\u0435': 9, u'\u0438\u043b\u0438': 2, u'\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e': 1, u'\u043d\u0430': 11, u'\u043d\u043e': 17, u'\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b': 1, u'\u041c\u043e\u0436\u0435\u0442': 1, u'\u0432\u0430\u0448': 5, u'\u0445\u043e\u0442\u0438\u0442\u0435': 1, u'[\u0444\u043e\u0440\u043c\u043e\u0439': 1, u'\u0432\u044b': 5, u'\u0446\u0435\u043b\u0435\u0439': 1, u'\u0441\u0438\u043c\u0432\u043e\u043b\u044b': 3, u'\u0415\u0441\u043b\u0438': 2, u'\u0422\u0430\u043a\u0436\u0435': 1, u'\u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438': 1, u'\u0434\u0430\u043d\u043d\u043e\u0433\u043e': 1, u'**\u0412': 1, u'\u0437\u0430\u043f\u0440\u043e\u0441\u044b),': …Run Code Online (Sandbox Code Playgroud) 我有数据框
ID,url,used_at,active_seconds,domain
61a77f9e5fd52a50c10cd2d4d886ec68,mazdaspb.ru,2015-01,6,mazdaspb.ru
61a77f9e5fd52a50c10cd2d4d886ec68,mazdaspb.ru/cars/mazda-cx-5/crossover/overview,2015-01,12,mazdaspb.ru
61a77f9e5fd52a50c10cd2d4d886ec68,mazdaspb.ru/cars/mazda-cx-5/crossover/overview,2015-01,19,mazdaspb.ru
61a77f9e5fd52a50c10cd2d4d886ec68,vw-stat.ru,2015-01,40,vw-stat.ru
61a77f9e5fd52a50c10cd2d4d886ec68,vw-stat.ru/models/new_tiguan,2015-01,12,vw-stat.ru
61a77f9e5fd52a50c10cd2d4d886ec68,vw-stat.ru/models/new_tiguan/comps,2015-01,48,vw-stat.ru
61a77f9e5fd52a50c10cd2d4d886ec68,vw-stat.ru/models/new_tiguan/comps/new_tiguan_track_field,2015-01,4,vw-stat.ru
61a77f9e5fd52a50c10cd2d4d886ec68,vw-stat.ru/models/new_tiguan/comps/new_tiguan_track_field?engine_type=DIESEL&DIESEL=engines_4e53a3c8e986d,2015-01,78,vw-stat.ru
41c2fd7a372729dfe336e44730169f28,avito.ru/saratov/avtomobili_s_probegom/volkswagen/golf?f=188_886b887,2015-01,8,avito.ru
41c2fd7a372729dfe336e44730169f28,avito.ru/saratov/avtomobili_s_probegom/volkswagen/golf?f=188_886b887,2015-01,1,avito.ru
41c2fd7a372729dfe336e44730169f28,avito.ru/saratov/avtomobili_s_probegom/volkswagen/golf?f=188_886b887,2015-01,2,avito.ru
Run Code Online (Sandbox Code Playgroud)
我需要制作数据透视表,并且应该有所有唯一 ID 的百分比值。我可以得到
group = pd.pivot_table(df, index='used_at', columns='domain', values='ID', aggfunc=(lambda x: x.count()))
Run Code Online (Sandbox Code Playgroud)
但它每个月都会向每个域返回唯一 ID 的数量。如何将其转换为百分比?
我有数据帧
ID time coeff category
111 12 1.5 shop
111 15 1.5 shop
222 12 0.8 shop
222 18 0.8 shop
Run Code Online (Sandbox Code Playgroud)
我需要得到
category unique_users
shop 2.3
Run Code Online (Sandbox Code Playgroud)
如果我试试
result = df.groupby(['category']).agg({'ID': pd.Series.nunique}).rename(columns={ 'member_id': 'unique_users'}).reset_index()
Run Code Online (Sandbox Code Playgroud)
我知道2,因为它返回了唯一的df.ID.如何将值汇总df.coeff为唯一df.ID?
我是 tensorflow 的新手,我试图了解应该是什么大小batch。
我的数据的形状(119396, 12955)。我怎样才能最好batch_size地选择我的数据?什么依赖batch_size于数据形状或使用算法?
我有2个数据帧
category count_sec_target
3D-?????? 0.09375
C?????? 201.90625
GPS ? ??????? 0.015625
Hi-Tech 187.1484375
???????????? 0.8125
???????????? 8.40625
Run Code Online (Sandbox Code Playgroud)
和
category count_sec_random
3D-?????? 0.369565217
Hi-Tech 70.42391304
??? ??, ??????????????? 0.934782609
???????????? 1.413043478
???????????? 14.93478261
???? 480.3369565
Run Code Online (Sandbox Code Playgroud)
我需要连接并得到
category count_sec_target count_sec_random
3D-?????? 0.09375 0.369565217
C?????? 201.90625 0
GPS ? ??????? 0.015625 0
Hi-Tech 187.1484375 70.42391304
???????????? 0.8125 1.413043478
???????????? 8.40625 14.93478261
??? ??, ??????????????? 0 0.934782609
???? 0 480.3369565
Run Code Online (Sandbox Code Playgroud)
接下来我想在col中划分值(count_sec_target / count_sec_random) * 100%
但是当我尝试连接df时
frames = [df1, df1]
df = pd.concat(frames) …Run Code Online (Sandbox Code Playgroud) 我有50个具有一个结构的数据帧,但值不同.如何从这一切获得平均数据帧?
active nodes
graph
0 128
1 128
2 128
3 127
4 126
5 126
6 126
7 126
8 126
9 125
10 124
Run Code Online (Sandbox Code Playgroud) 我有数据帧
ID 2016-01 2016-02 ... 2017-01 2017-02 ... 2017-10 2017-11 2017-12
111 12 34 0 12 3 0 0
222 0 32 5 5 0 0 0
Run Code Online (Sandbox Code Playgroud)
我需要计算每12列并得到
ID 2016 2017
111 46 15
222 32 10
Run Code Online (Sandbox Code Playgroud)
我试着用
(df.groupby((np.arange(len(df.columns)) // 31) + 1, axis=1).sum().add_prefix('s'))
Run Code Online (Sandbox Code Playgroud)
但它会返回所有列但是当我尝试使用时
df.groupby['ID']((np.arange(len(df.columns)) // 31) + 1, axis=1).sum().add_prefix('s'))
Run Code Online (Sandbox Code Playgroud)
它回来了
TypeError: 'method' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我有数据框,我需要使用正则表达式进行过滤。
数据框:
domain tag1
0 ^mail.ru/search ??????
1 go.mail.ru$ ???-??????
2 vk.com/audios ??????????
3 vk.com/video ??????????
4 vk.com/apps ??????????
5 vk.com ??????????
6 ^yandex.ru/search ??????
7 ^yandex.ru/pogoda ??????
8 ^yandex.ru$ ???-??????
Run Code Online (Sandbox Code Playgroud)
我只需要获取域名
我尝试使用
def get_domain_encoding(df):
return df[df.domain.str.contains(r'[a-zA-Z0-9-_]+.[a-zA-Z0-9]')]
Run Code Online (Sandbox Code Playgroud)
它又回到了我
domain tag1
0 ^mail.ru/search ??????
2 vk.com/audios ??????????
3 vk.com/video ??????????
4 vk.com/apps ??????????
5 vk.com ??????????
6 ^yandex.ru/search ??????
7 ^yandex.ru/pogoda ??????
8 ^yandex.ru$ ???-??????
Run Code Online (Sandbox Code Playgroud)
当我将其更改为
def get_domain_encoding(df):
return df[df.domain.str.contains(r'^[a-zA-Z0-9-_]+.[a-zA-Z0-9]$')]
Run Code Online (Sandbox Code Playgroud)
它返回我空的数据框。
我该如何解决?
我有一个数据帧
date member_id val
2016-06-01 2377264 14
2016-06-01 289719 6
2016-06-02 289719 12
2016-06-02 2377264 1
2016-06-03 289719 0
2016-06-04 289719 0
2016-06-05 289719 3
Run Code Online (Sandbox Code Playgroud)
我需要获取member_id val 2377264 [14,1] 289719 [6,12,0,3]接下来我要对列表中的元素求和,如果列表中有0,则写入.我的意思是
member_id val
2377264 [15]
289719 [18, 0, 0, 3]
Run Code Online (Sandbox Code Playgroud)
我试过了
vals = []
print df.groupby('member_id')['val'].apply(lambda x: vals.append(x))
Run Code Online (Sandbox Code Playgroud)
但它返回列中的所有None值.我该如何解决这个问题?
python ×10
pandas ×7
dataframe ×1
dictionary ×1
encoding ×1
list ×1
percentage ×1
pivot-table ×1
regex ×1
tensorflow ×1
unique ×1