我对Pandas还比较陌生,但是想要根据名称为Mel的条件从一个dataframe创建另一个dataframe。通过打印出来的索引号,看起来我的新dataframe只是旧dataframe的指针。
本质上,我正在寻找与此等效的方法:
BabyDataSet = [['Bob', 968], ['Jessica', 155], ['Mary', 77], ['John', 578], ['Mel', 973]]
filtered_list = [x for x in BabyDataSet if x[0] == 'Mel']
print filtered_list
df = pd.DataFrame(data=filtered_list, columns=['Names', 'Births'])
print df
我的代码:
import pandas as pd
BabyDataSet = [['Bob', 968], ['Jessica', 155], ['Mary', 77], ['John', 578], ['Mel', 973]]
#create dataframe
df = pd.DataFrame(data=BabyDataSet, columns=['Names', 'Births'])
#create a new dataframe for Bob
new_df = df.ix[['Mel' in x for x in df['Names']]]
print new_df
reset_index()
,请看我的更新,它不会影响原始数据框。 - EdChumdf[df['Names'].str.contains('Mel')]
- EdChum