Pandas、Numpy使用时常见问题

DataFrame多索引读取

相关数据及输出结果见下图:

data_pre=np.zeros(90000).reshape(100,900)
# print(data_pre)
df_similarity=pd.DataFrame(data=data_pre,index=df_test.index,columns=df_train.index)
print(df_similarity)
print(df_similarity['岁月神偷',2010])

Pandas、Numpy使用时常见问题_第1张图片

 Pandas、Numpy使用时常见问题_第2张图片

多索引提取信息时,如上图可以看出DataFrame对应的行索引和列索引都有title和release_date两个索引,在读取某一行的信息时,应该表明两个索引才可以输出正确结果。如上图输入索引名为:['岁月神偷',2010]两个索引时,才可以输出对应的以此为列索引的指定列的内容。 

DataFrame指定位置数据的提取

根据关键字

df.loc['关键字']

根据对应的行数或者列数

df.iloc[]

 

此外,在进行数据分析处理时,务必确保时间复杂度相对较低,否则影响总体效果。

比如,能够使用Pandas或者Numpy科学分析库的函数,就尽量不要使用多重for循环去迭代,造成时间复杂度指数级增长(在做课设的时候,我就是有一个地方用了三重for循环嵌套,导致计算结果又慢,又容易出错,最后换成Numpy中的库函数,就迅速解决了)

因此,灵活掌握Numpy和Pandas库中的函数还是十分重要的(虽然其中不少函数的参数确实有点多......)

pd.read_csv中读出的数据和DataFrame搞混

这个问题当时我也挺糊涂的,就是当你使用Pandas中的read_csv函数时,比如说见下图

data1 = pd.read_csv('film_info.csv', sep=',', header=0, delimiter=None, names=None, skiprows=None, nrows=None,
                    encoding='gbk', index_col=None, usecols=None)
data1=pd.DataFrame(data=data1,index=None,columns['title','score','release_date','types','regions'])

上述代码中,假如直接对data1使用下列操作,而没有再次定义Dataframe,将data1的数据导入

all_countries=""
for i in range(0,2000):
    all_countries=all_countries+','+data1['regions'][i]

程序会报错,因为不能对read_csv读取出的对象直接使用DataFrame的相关操作。

你可能感兴趣的:(Python数据分析,Python入门,python,人工智能)