0
섭씨 온도의 CSV 파일을 섭씨 화씨로 변환하고 싶습니다.CSV 파일에서 섭씨에서 화씨로 변환
현재 시도 :
import pandas as pd
df = pd.read_csv('/temperature_data.csv',)
def f(x):
x = x * 1.8 + 32
return float(x)
df['AirTemperature'] = df.apply(f, axis=1)
내가 성공적으로 단순히 입력 기능에 정수를하는 경우이 작업을 수행 할 수 있어요,하지만 난 CSV 파일 사용하려고 할 때이 오류 메시지가 계속 :
을can't multiply sequence by non-int of type 'float'
값을 float로 변환하려고 시도했지만 운이 없었습니다.
편집 : 사용중인 CSV 파일이 다중 열입니다. 그것에는 단순히 공기 온도 이상이 있습니다.
가 또한 여기에 전체 역 추적
내가 전에 팬더을 사용하지 않는 한`---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-a63269740c5c> in <module>()
----> 1 df['AirTemperature'] = df.apply(f, axis=1)
/Users/pvayn/anaconda/lib/python2.7/site-packages/pandas/core/frame.pyc in apply(self, func, axis, broadcast, raw, reduce, args, **kwds)
4040 if reduce is None:
4041 reduce = True
-> 4042 return self._apply_standard(f, axis, reduce=reduce)
4043 else:
4044 return self._apply_broadcast(f, axis)
/Users/pvayn/anaconda/lib/python2.7/site-packages/pandas/core/frame.pyc in _apply_standard(self, func, axis, ignore_failures, reduce)
4136 try:
4137 for i, v in enumerate(series_gen):
-> 4138 results[i] = func(v)
4139 keys.append(v.name)
4140 except Exception as e:
<ipython-input-3-895f5da25595> in f(x)
1 def f(x):
----> 2 x = x*1.8 + 32
3 return float(x)
/Users/pvayn/anaconda/lib/python2.7/site-packages/pandas/core/ops.pyc in wrapper(left, right, name, na_op)
647 lvalues = lvalues.values
648
--> 649 return left._constructor(wrap_results(na_op(lvalues, rvalues)),
650 index=left.index, name=left.name,
651 dtype=dtype)
/Users/pvayn/anaconda/lib/python2.7/site-packages/pandas/core/ops.pyc in na_op(x, y)
588 result = np.empty(len(x), dtype=x.dtype)
589 mask = notnull(x)
--> 590 result[mask] = op(x[mask], y)
591 else:
592 raise TypeError("{typ} cannot perform the operation "
TypeError: ("can't multiply sequence by non-int of type 'float'", u'occurred at index 0')
주어진 코드는 float와 int가 모두 포함 된 단일 열의 CSV로 작동합니다. 전체 추적을 볼 수 있을까요? –
함수에 의해받은'x'가 int가 아닌 시퀀스 타입이라는 것을 분명히 알았습니다. 이것은 문서에서 언급 한 것 같습니다. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html이를 수용하기 위해'f'를 수정해야 할 수도 있습니다. –
@DavidZemens에 접근하는 방법에 대한 권장 사항이 있습니까? – pvayn