df = pd.DataFrame({[ 3, 29],[94, 170],[31, 115]})
print(df)
bug 报错:TypeError: unhashable type: 'list' debug,增加行名称
df = pd.DataFrame({
'age': [ 3, 29],
'height': [94, 170],
'weight': [31, 115]})
print(df)
age height weight 0 3 94 31 1 29 170 115
将上述dataframe的数值打印出来
df.values
array([[ 3, 94, 31], [ 29, 170, 115]], dtype=int64)
如果值是混合类型的,比如包含整数,浮点,字符,dtype = object
构建数据的一种方式,列名 : range() :
df = pd.DataFrame({'A': range(1, 6),
'B': range(10, 0, -2),
'C C': range(10, 5, -1)})
df.query('A > B')
df[df.A > df.B]
两种查询写法等价
df.query('B == `C C`')
df[df.B == df['C C']]
两种查询写法等价
做除法:
from
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.div.html
https://stackoverflow.com/questions/48654181/difference-between-dataframe-div-and-dataframe-divide-in-pandas
DataFrame.div(other, axis='columns', level=None, fill_value=None)
DataFrame.divide()
DataFrame.truediv(other, axis='columns', level=None, fill_value=None)
浮点除法
上面3个等价
DataFrame.floordiv
整数除法
DataFrame.rdiv(other, axis='columns', level=None, fill_value=None)
DataFrame.rtruediv(other, axis='columns', level=None, fill_value=None)
DataFrame.rdivide()
上面3个等价
语法: DataFrame.sub(other, axis=’columns’, level=None, fill_value=None)
参数 :
Python Pandas dataframe.sub()用法及代码示例 - 纯净天空
other:系列,数据框架,或常数
axis:对于系列输入,axis要与系列的索引相匹配。
level :跨层广播,与通过的MultiIndex层的索引值相匹配。
fill_value : 在计算前用这个值填充现有的缺失(NaN)值,以及成功的DataFrame对齐所需的任何新元素。如果两个对应的DataFrame位置的数据都缺失,结果将是缺失。
============
舍弃空值所在行/列
df.dropna(axis=0, how='any', inplace=True)
--axis:
0: 行操作(默认)
1 : 列操作
--how:
any: 只要有空值就删除(默认)
all:全部为空值才删除
--inplace:
False: 返回新的数据集(默认)
True: 在原数据集上操作(节约内存)
-- thresh 阈值
示例:
print(d.dropna(axis='columns', thresh=5))
# 按列删除:该列非空元素小于5个的,即删除该列
print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))
# 设置子集:删除第0、5、6、7列都为空的行
====================
填充空值
c.fillna({'age':0,'city':'unknown'}, inplace=True)
===============
Python 语法 ,字符转义
20231024
### 需要转义的字符串:\ “ ‘
### 不需要转义的字符串:. $ | ( ) [ { ^ ? * +
### python 测试程序 string ="123\\345" print(string.split('\\'))
==================