我来自Python,最近学习C ++。我正在学习一个名为C / C ++的函数,memset并从https://www.geeksforgeeks.org/memset-in-cpp/网站中遵循在线示例,在该示例中我遇到了一些编译错误:
/**
* @author : Bhishan Poudel
* @file : a02_memset_geeks.cpp
* @created : Wednesday Jun 05, 2019 11:07:03 EDT
*
* Ref:
*/
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int main(int argc, char *argv[]){
char str[] = "geeksforgeeks";
//memset(str, "t", sizeof(str));
memset(str, 't', sizeof(str));
cout << str << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用单引号't'时出错
这将打印多余的字符。
tttttttttttttt!R@`
Run Code Online (Sandbox Code Playgroud)
在双引号中使用“ t”时出错
tttttttttttttt!R@`
Run Code Online (Sandbox Code Playgroud)
如何在C ++中使用memset?
进一步的研究此处
提供了具有缺点的优秀教程memset:https : //web.archive.org/web/20170702122030/https …
我有一个这样的数据框:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.DataFrame({'category': list('XYZXY'), 'B': range(5,10),'sex': list('mfmff')})
Run Code Online (Sandbox Code Playgroud)
我想根据“类别”列中的类别绘制男性或女性性别计数。
我试过了:
df.groupby(['category','sex'])['category','sex'].count().plot.bar()
如何获得每个类别的性别计数?
我有一个数据框,其中一列包含包含字典的字符串化列表。我想知道如何从这些字典键中创建新列。
我正在寻找使用pandas方法的解决方案,例如“ apply stack etc不使用循环”。
这是问题所在:
speakers = ['Einstein','Newton']
views = [1000,2000]
ratings0 = ("[{'id': 7, 'name': 'Funny', 'count': 100}, {'id': 1, 'name': 'Sad', "
"'count': 110}, {'id': 9, 'name': 'Happy', 'count': 120}]")
ratings1 = ("[{'id': 7, 'name': 'Happy', 'count': 200}, {'id': 3, 'name': 'Funny', "
"'count': 210}, {'id': 2, 'name': 'Sad', 'count': 220}]")
ratings = [ratings0, ratings1]
df = pd.DataFrame({'speaker': speakers, 'ratings': ratings,'views':views})
print(df)
speaker ratings views
0 Einstein [{'id': 7, 'name': 'Funny', 'count': 100}, {'i... 1000
1 …Run Code Online (Sandbox Code Playgroud) 我有一个这样的熊猫数据框:
Year Winner
4 1954 Germany
9 1974 Germany
13 1990 Germany
19 2014 Germany
5 1958 Brazil
6 1962 Brazil
8 1970 Brazil
14 1994 Brazil
16 2002 Brazil
Run Code Online (Sandbox Code Playgroud)
如何绘制Winner列的频率计数,以便y轴具有频率,x轴具有国家/地区名称?
我试过了:
import numpy as np
import pandas as pd
df.groupby('Winner').size().plot.hist()
df1['Winner'].value_counts().plot.hist()
Run Code Online (Sandbox Code Playgroud) 我有一个numpy的数组:
import numpy as np
a = np.array([2,5,1])
Run Code Online (Sandbox Code Playgroud)
我如何使用numpy或pandas或列表理解等获取这样的数组?(不使用for循环)
[2,2,5,5,5,5,5,1]
Run Code Online (Sandbox Code Playgroud) 我们如何才能有效地在pandas数据框中找到列的合并平均值?
我喜欢将专栏分为5部分,并找到每一部分的平均值。
这是我所做的:
import numpy as np
import pandas as pd
df = pd.DataFrame({'x': np.arange(20)})
n_bins = 5
dfs = np.array_split(df,n_bins)
x_means = [x.mean()[0] for x in dfs]
n_elems = len(df) // n_bins
x_mean_lst = [[i]*n_elems for i in x_means]
x_mean_array = np.array(x_mean_lst).flatten()
df['x_bin_mean'] = x_mean_array
df
Run Code Online (Sandbox Code Playgroud)
这似乎比必要的更为复杂。有更好的选择吗?
输出应如下所示:
x x_bin_mean
0 0 1.5
1 1 1.5
2 2 1.5
3 3 1.5
4 4 5.5
5 5 5.5
6 6 5.5
7 7 5.5
8 8 9.5
9 9 …Run Code Online (Sandbox Code Playgroud) 这个看似简单的问题让我头疼了一会儿,以为有人可能会有所帮助.
我有一个简单的字符串
s = 'AAABCAA'
Run Code Online (Sandbox Code Playgroud)
如何找到第一个字母'A'的重复次数?答案应该是3.
我试过了:
from collections import Counter
c = Counter(s)
Run Code Online (Sandbox Code Playgroud)
但是,这给'A'= 5而不是3.
我正在练习用python生成斐波那契序列,以及以下如何从Python中打印斐波那契序列到第n个数字的记忆示例:。
然后我遇到了一个有趣的区别,那就是使用返回单线而不是返回单线。例如,下面给出示例代码。在第一个示例中,我们不使用return one-liner并且运行非常快,但是,在第二个示例中,我们使用return one-liner并且运行非常慢。
他们不是应该一样吗?
def memoize(func):
memo = dict()
def decorated(n):
if n not in memo:
memo[n] = func(n)
return memo[n]
return decorated
@memoize
def fib(n):
if n<=1:
return 1
else:
return fib(n-1) + fib(n-2)
print([ fib(i) for i in range(100,110)]) # runs very fast
Run Code Online (Sandbox Code Playgroud)
def memoize(func):
memo = dict()
def decorated(n):
return func(n) if n not in memo else memo[n]
return decorated
@memoize
def fib(n):
if n<=1:
return 1
else: …Run Code Online (Sandbox Code Playgroud)