import numpy as npimport pandas as pdf'Using {pd.__name__}, Version {pd.__version__}'
现在让我们编写一个start方法来实现自定义pandas设置
defstart(): options ={'display':{'max_columns':None,'max_colwidth':25,'expand_frame_repr':False,'max_rows':14,'max_seq_items':50,'precision':4,'show_dimensions':False},'mode':{'chained_assignment':None}}for category, option in options.items():for op, value in option.items(): pd.set_option(f'{category}.{op}', value)if__name__=='__main__':start()del start
0 periwinkle
1 mint green
2 burnt orange
3 periwinkle
4 burnt orange
5 rose
6 rose
7 mint green
8 rose
9 navy
dtype: category
Categories (5, object): [burnt orange, mint green, navy, periwinkle, rose]
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-36-1766a795336d> in <module>()
----> 1 ccolors.iloc[5] = 'a new color'
NameError: name 'ccolors' is not defined
new_colors = new_colors.cat.add_categories(['a new color'])
from typing import Any
def membership_map(s: pd.Series, groups: dict,
fillvalue: Any=-1) -> pd.Series:
groups = {x: k for k, v in groups.items() for x in v}
return s.map(groups).fillna(fillvalue)
def create_id(*args):
return ''.join([i for i in map(str,args) if i!='Nan'])
df['id'] = np.vectorize(create_id)(df[1],df[2],df[3])
# Concatenate all values to one column
df['x'] = df.astype(str).values.sum(axis=1)
#A clean way to initialize data frame with a list of namedtuple
Point = namedtuple('Point', ['x', 'y'])
points = [Point(1, 2), Point(3, 4)]
pd.DataFrame(points, columns=Point._fields)
Out[13]:
x y
0 1 2
1 3 4