在進行資料分析時,經常需要按照一定條件建立新的資料列,然後進行進一步分析。
import pandas as pd
df = pd.read_csv(xx.csv)
# 替換掉溫度的字尾℃
df.loc[:, "bwendu"] = df["bwendu"].str.replace("℃", "").astype('int32')
df.loc[:, "ywendu"] = df["ywendu"].str.replace("℃", "").astype('int32')
print(df.head())
ymdbwendu
ywendu
tianqi
fengxiang
fengli
aqiaqiinfo
aqilevel
02018-01-013-6
晴~多雲
東北風1-2級59良
212018-01-022-5
陰~多雲
東北風1-2級49優
122018-01-032-5
多雲北風
1-2級28優
132018-01-040-8
陰東北風
1-2級28優
142018-01-053-6
多雲~晴
西北風1-2級50優
1例項:計算溫差
# 注意,df["bwendu"]其實是乙個series,後面的減法返回的是series
df.loc[:, "wencha"] = df["bwendu"] - df["ywendu"]
print(df.head())
ymdbwendu
ywendu
tianqi
fengxiang
fengli
aqiaqiinfo
aqilevel
wencha
02018-01-013-6
晴~多雲
東北風1-2級59良
2912018-01-022-5
陰~多雲
東北風1-2級49優
1722018-01-032-5
多雲北風
1-2級28優
1732018-01-040-8
陰東北風
1-2級28優
1842018-01-053-6
多雲~晴
西北風1-2級50優
19例項:新增一列溫度型別:
如果最高溫度大於33度就是高溫
低於-10度是低溫
否則是常溫
def get_wendu_type(x):
if x["bwendu"] > 33:
return '高溫'
if x["ywendu"] < -10:
return '低溫'
return '常溫'
# 注意需要設定axis==1,這是series的index是columns
# 檢視溫度型別的計數
例項:將溫度從攝氏度變成華氏度
# 可以同時新增多個新的列
df.assign(
ywendu_huashi = lambda x : x["ywendu"] * 9 / 5 + 32,
# 攝氏度轉華氏度
bwendu_huashi = lambda x : x["bwendu"] * 9 / 5 + 32
)
ymdbwendu
ywendu
tianqi
fengxiang
fengli
aqiaqiinfo
aqilevel
wencha
wendu_type
ywendu_huashi
bwendu_huashi
02018-01-013-6
晴~多雲
東北風1-2級59良
29常溫21.2
37.4
12018-01-022-5
陰~多雲
東北風1-2級49優
17常溫23.0
35.6
22018-01-032-5
多雲北風
1-2級28優
17常溫23.0
35.6
32018-01-040-8
陰東北風
1-2級28優
18常溫17.6
32.0
42018-01-053-6
多雲~晴
西北風1-2級50優
19常溫21.2
37.4
......
......
......
......
......
......
......
3602018-12-27
-5-12
多雲~晴
西北風3級48優
17低溫10.4
23.0
3612018-12-28
-3-11
晴西北風
3級40優1
8低溫12.2
26.6
3622018-12-29
-3-12
晴西北風
2級29優1
9低溫10.4
26.6
3632018-12-30
-2-11
晴~多雲
東北風1級31優
19低溫12.2
28.4
3642018-12-31
-2-10
多雲東北風
1級56良2
8常溫14.0
28.4
365 rows × 13 columns
按條件先選擇資料,然後對這部分資料賦值新列
例項:高低溫差大於10度,則認為溫差大
# 先建立空列(這是第一種建立新列的方法)
df['wencha_type'] = ''
df.loc[df["bwendu"]-df["ywendu"]>10, "wencha_type"] = "溫差大"
df.loc[df["bwendu"]-df["ywendu"]<=10, "wencha_type"] = "溫差正常"
資料庫增加新列
2017年02月14日 11 24 11 public class copyofdatabasehelper extends sqliteopenhelper return db helper public copyofdatabasehelper context context 資料庫建立時執行 ...
資料庫 insert 增加列
一些出現的問題 1.insert 增加列 增加乙個列 alter table 表名 add 列名 資料型別 如 alter table emp add weight number 38,0 修改乙個列的資料型別 一般限於修改長度,修改為乙個不同型別時有諸多限制 alter table 表名 modi...
資料庫的增 刪 改 查 增加列 刪除列
varchar n n為數字,表示n位數的字元。增 create datebase xuesheng 建立乙個xuesheng的資料庫,注意要有go go create table xueshengxinxi code int,編號為int name varchar 20 名字為varchar sc...