PythonPivot:扩展列不起作用
我正试着扩大测量范围。 我不知道为什么它不起作用。。 有人能帮忙吗。谢谢 以下是数据集的head()PythonPivot:扩展列不起作用,python,pandas,pivot,Python,Pandas,Pivot,我正试着扩大测量范围。 我不知道为什么它不起作用。。 有人能帮忙吗。谢谢 以下是数据集的head() year month measure day Temp 0 2014 12 Max.TemperatureF X1 64 1 2014 12 Mean.TemperatureF X1 52 2 2014 12 Min.TemperatureF X1 39 3 2014 12 Max.Dew.P
year month measure day Temp
0 2014 12 Max.TemperatureF X1 64
1 2014 12 Mean.TemperatureF X1 52
2 2014 12 Min.TemperatureF X1 39
3 2014 12 Max.Dew.PointF X1 46
4 2014 12 MeanDew.PointF X1 40
守则:
df = df.pivot)table(index=['year','month','day'],columns='measure',values='Temp')
错误:
DataError: No numeric types to aggregate
用于此
import pandas as pd
df = pd.DataFrame({
"year": [2014]*5,
"month": [12]*5,
"day": [1]*5,
"measure": ["Max.TemperatureF", "Mean.TemperatureF", "Min.TemperatureF", "Max.Dew.PointF", "Mean.Dew.PointF"],
"Temp": [64, 52, 39, 46, 40]
})
df.head()
我认为
pivot
不会处理索引中的多个列。请尝试使用透视表?谢谢您的帮助。我试过了,现在出现了一个新错误:“DataError:没有要聚合的数字类型”是什么给出了df.Temp.dtype
?有关其他解决方案,请参见此示例:)数据错误:没有要使用的数字类型aggregate@phil这意味着Temp
列中有非数字数据。我通过将玩具示例中的一个temp更改为“test”
复制了您的错误。我猜字段中有一个字符串,需要提前将其替换为None
,以便将其正确表示为null/NaN。
year month day measure Temp
0 2014 12 1 Max.TemperatureF 64
1 2014 12 1 Mean.TemperatureF 52
2 2014 12 1 Min.TemperatureF 39
3 2014 12 1 Max.Dew.PointF 46
4 2014 12 1 Mean.Dew.PointF 40
df.pivot_table(values="Temp", index=["year", "month", "day"], columns="measure")
df.head()
measure Max.Dew.PointF Max.TemperatureF Mean.Dew.PointF Mean.TemperatureF Min.TemperatureF
year month day
2014 12 1 46 64 40 52 39