Google的疯狂面试题 测测你能承受几个?
朋友接受了Google公司的面试,他透露了面试中的一些问题。顺便,我把从其他几个曾经面试过的人那里听来的内容也整理在一起。Google的疯狂面试题 测测你能承受几个!
更新时间:2023-01-12 20:01
最满意答案
创建数据 通过Python的zip构造出一元组组成的列表作为DataFrame的输入数据rec。 In [3]: import pandas as pd In [4]: import random In [5]: num = random.sample(xrange(10000, 1000000), 5) In [6]: num Out[6]: [244937, 132008, 278446, 613409, 799201] In [8]: names = "hello the cruel world en".split() In [9]: names Out[9]: ['hello', 'the', 'cruel', 'world', 'en'] In [10]: rec = zip(names, num) In [15]: data = pd.DataFrame(rec, columns = [u"姓名",u"业绩" ]) In [16]: data Out[16]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201 DataFrame方法函数的第一个参数是数据源,第二个参数columns是输出数据表的表头,或者说是表格的字段名。 导出数据csv Windows平台上的编码问题,我们可以先做个简单处理,是ipython-notebook支持utf8. import sys reload(sys) sys.setdefaultencoding("utf8") 接下来可以数据导出了。 In [31]: data Out[31]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201 #在ipython-note里后加问号可查帮助,q退出帮助 In [32]: data.to_csv? In [33]: data.to_csv("c:\\out.csv", index = True, header = [u"雇员", u"销售业绩"]) 将data导出到out.csv文件里,index参数是指是否有主索引,header如果不指定则是以data里columns为头,如果指定则是以后边列表里的字符串为表头,但要注意的是header后的字符串列表的个数要和data里的columns字段个数相同。 可到c盘用Notepad++打开out.csv看看。 简单的数据分析 In [43]: data Out[43]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201 #排序并取前三名 In [46]: Sorted = data.sort([u"业绩"], ascending=False) Sorted.head(3) Out[46]: 姓名 业绩 4 en 799201 3 world 613409 2 cruel 278446 图形输出 In [71]: import matplotlib.pyplot as plt #使ipython-notebook支持matplotlib绘图 %matplotlib inline In [74]: df = data #绘图 df[u"业绩"].plot() MaxValue = df[u"业绩"].max() MaxName = df[u"姓名"][df[u"业绩"] == df[u"业绩"].max()].values Text = str(MaxValue) + " - " + MaxName #给图添加文本标注 plt.annotate(Text, xy=(1, MaxValue), xytext=(8, 0), xycoords=('axes fraction', 'data'), textcoords='offset points') 如果注释掉plt.annotate这行
其他回答
创建数据 通过python的zip构造出一元组组成的列表作为dataframe的输入数据rec。 in [3]: import pandas as pd in [4]: import random in [5]: num = random.sample(xrange(10000, 1000000), 5) in [6]: num out[6]: [244937, 132008, 278446, 613409, 799201] in [8]: names = "hello the cruel world en".split() in [9]: names out[9]: ['hello', 'the', 'cruel', 'world', 'en'] in [10]: rec = zip(names, num) in [15]: data = pd.dataframe(rec, columns = [u"姓名",u"业绩" ]) in [16]: data out[16]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201 dataframe方法函数的第一个参数是数据源,第二个参数columns是输出数据表的表头,或者说是表格的字段名。 导出数据csv windows平台上的编码问题,我们可以先做个简单处理,是ipython-notebook支持utf8. import sys reload(sys) sys.setdefaultencoding("utf8") 接下来可以数据导出了。 in [31]: data out[31]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201 #在ipython-note里后加问号可查帮助,q退出帮助 in [32]: data.to_csv? in [33]: data.to_csv("c:\\out.csv", index = true, header = [u"雇员", u"销售业绩"]) 将data导出到out.csv文件里,index参数是指是否有主索引,header如果不指定则是以data里columns为头,如果指定则是以后边列表里的字符串为表头,但要注意的是header后的字符串列表的个数要和data里的columns字段个数相同。 可到c盘用notepad++打开out.csv看看。 简单的数据分析 in [43]: data out[43]: 姓名 业绩 0 hello 244937 1 the 132008 2 cruel 278446 3 world 613409 4 en 799201
相关问答
更多-
python panda怎么提取列数据[2024-03-01]
创建数据 通过Python的zip构造出一元组组成的列表作为DataFrame的输入数据rec。 In [3]: import pandas as pd In [4]: import random In [5]: num = random.sample(xrange(10000, 1000000), 5) In [6]: num Out[6]: [244937, 132008, 278446, 613409, 799201] In [8]: names = "hello the cruel world en ... -
python panda 统计一列有多少数据[2022-01-25]
创建数据 通过Python的zip构造出一元组组成的列表作为DataFrame的输入数据rec。 In [3]: import pandas as pd In [4]: import random In [5]: num = random.sample(xrange(10000, 1000000), 5) In [6]: num Out[6]: [244937, 132008, 278446, 613409, 799201] In [8]: names = "hello the cruel world en ... -
Python / Panda - 根据列值向DataFrame添加计数器(Python/Pandas - Add counter to DataFrame based on column values)[2023-12-27]
按每种颜色cumcount ,然后使用cumcount方法。 df['C'] = df.groupby('B').cumcount() + 1 A B C 0 1 red 1 1 2 blue 1 2 3 green 1 3 4 red 2 4 5 green 2 5 6 orange 1 6 7 red 3 Groupby each color and then use the cumcount method. d ... -
您可以使用列表推导并用零替换NaN 。 draft['GP'] = [0 if np.isnan(x) else x for x in draft.GP] You can use list comprehension and replace the NaNs with zeros. draft['GP'] = [0 if np.isnan(x) else x for x in draft.GP]
-
Python - 有效访问Panda Dataframe的列(Python - Accessing columns of a Panda Dataframe effectively)[2022-03-29]
建立 df = pd.DataFrame([[1, 2], [3, 4]], columns=['col1', 'col2']) 在python中, []是__getitem__方法的语法糖。 这个: df['col1'] 0 1 1 3 Name: col1, dtype: int64 相当于: df.__getitem__('col1') 0 1 1 3 Name: col1, dtype: int64 和这个: df[['col1', 'col2']] col ... -
Python - Panda的数据帧 - 生成具有组级信息的列(Python - Panda's dataframes - generate column with group level information)[2022-07-14]
您可以执行以下操作。 首先在groupby上执行left- merge : df = pd.merge( df, df.some.groupby(df.id).apply(lambda g: 'Yes' if 'Yes' in g.values else 'No').reset_index(), how='left') 然后,只需将新列重命名为您想要的名称: >>> df.rename(columns={0: 'someIdlevel'}) id some some ... -
熊猫数据框日期列中日期格式的转换不一致(Inconsistent conversion of date format in panda dataframe date column)[2022-12-07]
添加dayfirst df_scaled['Date'] = pd.to_datetime(df_scaled['Date'], dayfirst=True).dt.strftime('%Y-%m-%d') Out[510]: 283 2009-02-10 284 2009-02-11 285 2009-02-12 286 2009-02-13 287 2009-02-17 288 2009-02-18 Name: Date, dtype: datetime64[ns] ... -
这是我想出来的。 r"Description:(.*?)
(?:(?!Cause)(?!Description).)*(?:Cause:(.*?)
)?" 如果您使用与Description 和可选Cause相匹配的这个正则表达式,它将确保描述和原因的配对正确保持“压缩”。 data = re.findall(r"Description:(.*?)
(?:(?!Cause)(?!Description).)*(?:Cause:(.*?)
)?", textfile) df ... -
尝试 df['new'] = df.astype('str').apply(lambda x: '_'.join(set(x)), axis = 1) A B C new 0 X1 AX X1 AX_X1 1 X2 X2 X1 X1_X2 2 X3 X3 X3 X3 3 X4 XX XX X4_XX 编辑:维护列值的顺序 def my_append(x): l = [] for elm in x: if elm ...
-
找出python panda数据结构中的副本(Find out which is the duplicate in a python panda data structure)[2022-11-17]
我认为你可以使用duplicated ( keep省略,因为keep='first'是默认值)。 或者,如果您需要值tolist : print df['id'][df.duplicated(subset=['id'])] 3 2222 Name: id, dtype: int64 print df['id'][df.duplicated(subset=['id'])].tolist() [2222] 你可以检查duplicated : print df.duplicated(subset=['i ...