本人python初学者,学数据分析的时候想从数据中提取每个月的半个月的数据信息。 (1-6月)
以下变量分别是:
my_data 我pandas读取csv文件的DataFrame
for循环当中有18个variable,分别是:
提取只含有每个月数据的df : my_data_(1-6)
其中my_data_1_1和my_data_1_2表示1月的上下半月的df以此类推。 因为手动创建变量名称要累死我,我就用尝试用循环做了。
import pandas as pd
my_data = pd.read_csv(xxx)
for i in range(1,7):
names[f'my_data_{i}'] = my_data[my_data['月份'] == i]
names[f'my_data_{i}_1'] = names[f'my_data_{i}'][(my_data['天'] >= 1)&(my_data['天'] <= 15)]
names[f'my_data_{i}_2'] = names[f'my_data_{i}'][(my_data['天'] >= 16)&(my_data['天'] <= 31)]
my_data_1_2
运行报错是这样的:
C:\Users\johns\AppData\Local\Temp/ipykernel_13560/887399195.py:8: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
names[f'my_data_{i}1'] = names[f'my_data{i}'][(my_data['天']>=1)&(my_data['天']<=15)]
C:\Users\johns\AppData\Local\Temp/ipykernel_13560/887399195.py:10: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
names[f'my_data_{i}_2'] = names[f'my_data_{i}'][(my_data['天']>=16)&(my_data['天']<=31)]
但是仍然输出了我要的结果,12个(半月)的数据variable都创建完成且数据完整。
我就不太明白为什么会出现这个错误,我两个条件都放进括号里了用了&隔开,而且我单独把月份索引提出来了。
csv中原表格输出是这样的: