我正在尝试使用startswith
对数据文件的某些部分进行排序,因此可以按其名称在matplotlib上进行绘制。我使用:
mint = open('/Users/brand/Desktop/datafile.txt')
str = ps.DataFrame(mint)
a = str.startswith('MS')
plt.scatter(color[a], light[a], c = 'blue')
b = str.startswith('BH')
plt.scatter(color[b], light[b], c = 'red')
c = str.startswith('RH')
plt.scatter(color[c], light[c], c = 'green')
d = str.startswith('RGB')
plt.scatter(color[d], light[d], c = 'purple')
e = str.startswith('AGB')
plt.scatter(color[e], light[e], c = 'pink')
但是每次我使用不同的模块运行该文件以打开文件时,它始终会出现错误:' ' object has no attribute 'startswith'
。
那我可以使用哪个对象的startswith
属性?
答案 0 :(得分:1)
将数据框重命名为df_str
,因为str
是python中的关键字。并执行df_str.str.startswith()
以应用您的字符串方法
mint = open('/Users/brand/Desktop/datafile.txt')
df_str = ps.DataFrame(mint)[0]
a = df_str.str.startswith('MS')
plt.scatter(color[a], light[a], c = 'blue')
b = df_str.str.startswith('BH')
plt.scatter(color[b], light[b], c = 'red')
c = df_str.str.startswith('RH')
plt.scatter(color[c], light[c], c = 'green')
d = df_str.str.startswith('RGB')
plt.scatter(color[d], light[d], c = 'purple')
e = df_str.str.startswith('AGB')
plt.scatter(color[e], light[e], c = 'pink')
编辑:将df_str = ps.DataFrame(mint)
更改为df_str = ps.DataFrame(mint)[0]
将Dataframe转换为Series
答案 1 :(得分:0)
已将startswith
属性用于字符串对象。
请参见此处的函数文档:startswith()
因此,不能在DataFrame对象上调用它是完全正常的