我知道我必须迈出这一步,但我不知道该怎么做:
通过使用NASA空间科学数据协调档案,我们收集了有关每个任务中使用的每个模块的信息。就像创建示例表时一样,创建六个新列,三个用于登月模块,三个用于命令模块:
- 模块名称
- 模块质量
- 模块质量差异
用 0 填充任何 NaN 值:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~AppDataLocalTemp/ipykernel_8184/2992438938.py in <module>
----> 1 missions['Lunar module (LM)'] = {'Eagle (LM-5)', 'Intrepid (LM-6)', 'Antares (LM-8)', 'Falcon (LM-10)', 'Orion (LM-11)', 'Challenger (LM-12)'}
2 missions['LM mass (kg)'] = {15103, 15235, 15264, 16430, 16445, 16456}
3 missions['LM mass diff'] = missions['LM mass (kg)'].diff()
4 missions['LM mass diff'] = missions['LM mass diff'].fillna(value=0)
5
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in __setitem__(self, key, value)
3610 else:
3611 # set column
-> 3612 self._set_item(key, value)
3613
3614 def _setitem_slice(self, key: slice, value):
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in _set_item(self, key, value)
3782 ensure homogeneity.
3783 """
-> 3784 value = self._sanitize_column(value)
3785
3786 if (
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in _sanitize_column(self, value)
4508 if is_list_like(value):
4509 com.require_length_match(value, self.index)
-> 4510 return sanitize_array(value, self.index, copy=True, allow_2d=True)
4511
4512 @property
C:ProgramDataMiniconda3libsite-packagespandascoreconstruction.py in sanitize_array(data, index, dtype, copy, raise_cast_failure, allow_2d)
557 if isinstance(data, (set, frozenset)):
558 # Raise only for unordered sets, e.g., not for dict_keys
--> 559 raise TypeError(f"'{type(data).__name__}' type is unordered")
560
561 # materialize e.g. generators, convert e.g. tuples, abc.ValueView
TypeError: 'set' type is unordered
使用的代码:
missions['Lunar module (LM)'] = ['Eagle (LM-5)', 'Intrepid (LM-6)', 'Antares (LM-8)', 'Falcon (LM-10)', 'Orion (LM-11)', 'Challenger (LM-12)']
missions['LM mass (kg)'] = {15103, 15235, 15264, 16430, 16445, 16456}
missions['LM mass diff'] = missions['LM mass (kg)'].diff()
missions['LM mass diff'] = missions['LM mass diff'].fillna(value=0)
missions['Command module (CM)'] = ['Columbia (CSM-107)', 'Yankee Clipper (CM-108)', 'Kitty Hawk (CM-110)', 'Endeavor (CM-112)', 'Casper (CM-113)', 'America (CM-114)']
missions['CM mass (kg)'] = {5560, 5609, 5758, 5875, 5840, 5960}
missions['CM mass diff'] = missions['CM mass (kg)'].diff()
missions['CM mass diff'] = missions['CM mass diff'].fillna(value=0)
missions
儿科做用户:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~AppDataLocalTemp/ipykernel_8184/3771249595.py in <module>
1 missions['Lunar module (LM)'] = ['Eagle (LM-5)', 'Intrepid (LM-6)', 'Antares (LM-8)', 'Falcon (LM-10)', 'Orion (LM-11)', 'Challenger (LM-12)']
----> 2 missions['LM mass (kg)'] = {15103, 15235, 15264, 16430, 16445, 16456}
3 missions['LM mass diff'] = missions['LM mass (kg)'].diff()
4 missions['LM mass diff'] = missions['LM mass diff'].fillna(value=0)
5
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in __setitem__(self, key, value)
3610 else:
3611 # set column
-> 3612 self._set_item(key, value)
3613
3614 def _setitem_slice(self, key: slice, value):
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in _set_item(self, key, value)
3782 ensure homogeneity.
3783 """
-> 3784 value = self._sanitize_column(value)
3785
3786 if (
C:ProgramDataMiniconda3libsite-packagespandascoreframe.py in _sanitize_column(self, value)
4508 if is_list_like(value):
4509 com.require_length_match(value, self.index)
-> 4510 return sanitize_array(value, self.index, copy=True, allow_2d=True)
4511
4512 @property
C:ProgramDataMiniconda3libsite-packagespandascoreconstruction.py in sanitize_array(data, index, dtype, copy, raise_cast_failure, allow_2d)
557 if isinstance(data, (set, frozenset)):
558 # Raise only for unordered sets, e.g., not for dict_keys
--> 559 raise TypeError(f"'{type(data).__name__}' type is unordered")
560
561 # materialize e.g. generators, convert e.g. tuples, abc.ValueView
TypeError: 'set' type is unordered
将missions['Lunar module (LM)'] = ...
行更改为:
missions['Lunar module (LM)'] = ['Eagle (LM-5)', 'Intrepid (LM-6)', 'Antares (LM-8)', 'Falcon (LM-10)', 'Orion (LM-11)', 'Challenger (LM-12)']
{...}
创建一个set
,如错误消息所示,该按顺序排序。另一方面,[...]
创造了一个list
,它不是有序的,这是熊猫所期望的。