Вопрос о символе NSString, недопустимого в URL на iPhone

используйте groupby merge и concat Кроме того, вы все еще никогда не упоминали, как рассчитывается percentageA/B

# groupby and apply with join to get devices
d = df.groupby(['Country','category','brand','quarter'])['device'].apply('+'.join)
# groupby with sum then merge the two groups together with reset_index
new = df.groupby(['Country','category','brand','quarter']).sum().merge(d, left_index=True, right_index=True).reset_index()
# concat original df with new
pd.concat([df,new], sort=False)

  Country category brand quarter     device  countA  CountB  percentageA/B
0     XXX       A1    A2      Q2         PC      12      12            100
1     XXX       A1    A2      Q2     Tablet       2       4             50
2     YYY       A4    A5      Q4         PC      50      50            100
3     YYY       A4    A5      Q4     Tablet      10      10            100
0     XXX       A1    A2      Q2  PC+Tablet      14      16            150
1     YYY       A4    A5      Q4  PC+Tablet      60      60            200

, или вы можете попробовать:

# groupby and apply with join to get devices
d = df.groupby(['Country','category','brand','quarter'])['device'].apply('+'.join).to_frame().reset_index()
# groupby with sum then merge the two groups together with reset_index
new = df.groupby(['Country','category','brand','quarter'], as_index=False).sum().merge(d, on=['Country','category','brand','quarter'])
# concat original df with new
final_df = pd.concat([df,new], sort=False)
final_df['percentageA/B'] = final_df['countA'] / final_df['CountB'] * 100
5
задан Chilly Zhong 30 March 2009 в 03:27
поделиться

2 ответа

Я думаю, что это - лучший подход:

NSString* escapedUrl = [originalUrl   
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

Если Вы хотите понять, как кодирование URL работает, смотрите на этот URL.

20
ответ дан 18 December 2019 в 07:32
поделиться

Посмотрите RFC 2396 для полных окровавленных деталей. Следующих символов нужно оставить:

Control characters (ASCII 00-1F and 7F)
Space
<
>
#
%
"

Следующие символы неблагоразумны для использования, не выходя, потому что некоторые шлюзы и другие транспортные агенты, как известно, иногда изменяют такие символы, или они используются в качестве разделителей:

{ } | \ ^ [ ] `

1
ответ дан 18 December 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: