1
私はGeoJSONファイルを作成するのに役立つ関数を作成しようとしています。私はユーザーの性別や活動状況に応じて色のプロパティを設定しようとしています。私がこれまでに作成した機能:関数内でのパンダの機能ValueError
import os
import pandas as pd
import numpy as np
def create_geojson(df):
def colour_func():
if (df["Status"] == "Inactive"): #line 167
return "#808080"
elif (df["Status"] == "Active" and df["Gender"] == "Male"):
return "#0000FF"
else:
return "#FF99FF"
z = len(df)
output = "C:\\Users\\Lukasz Obara\\Desktop\\Members.txt"
f = open(output, "w")
f.write('var Members = {\n\t' +
'"type": "FeatureCollection",\n\t' +
'"features": [')
for x in range(0, z-1):
if (isinstance(df["Addr-Formatted"][x], str)):
f.write('{\n\t\t"type": "Feature",\n\t\t' +
'"geometry": {\n\t\t\t' +
'"type": "Point",\n\t\t\t' +
'"coordinates": [%f, %f] \n\t\t' % (df["Lng"][x],
df["Lat"][x]) +
'}, \n\t\t' +
'"properties": {\n\t\t\t' +
'"Name": "%s, %s",\n\t\t\t' % (df['Member Name-First'][x],
df['Member Name-Last'][x]) +
'"Colour": "%s" \n\t\t' % colour_func() +
"}\n\t" + #line 205
"}, ")
f.close()
os.rename(output, "C:\\Users\\Lukasz Obara\\Desktop\\Members.geojson")
は、私は単に適切な色(グレー、ブルー、ピンク)を返すようにcreate_geojson
からdf
を使用していますので、colour_func()
が空であることを考え出したが、私は入れません:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Lukasz Obara\desktop\Test.py", line 205, in create_geojson
"}\n\t"+
File "C:\Users\Lukasz Obara\desktop\Test.py", line 167, in colour_func
if (df["Status"] == "Inactive"):
File "C:\Users\Lukasz Obara\Anaconda3\lib\site-packages\pandas\core\generic.py", line 887, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
私は変更を試みたと 'ValueError'を送出が持続します。 – Lukasz
行番号を含む完全なトレースバックを表示してください。また、コード内でこの行を識別します。そうでなければ、このエラーがどこで発生するかを知る方法はありません。 –
完全なエラーが含まれています。私は 'colour_func()'のネストされていない関数をテストしましたが、私はエラーを生成しません。 – Lukasz