我只有以下一列具有以下pandas数据框:
column_name
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
我要做的是提取熊猫列中的每个元素,并将其放入这样的字符串中:
my_string = ['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date',
'cc_rec_end_date']
我尝试使用以下代码执行此操作:
my_list = column_names.values.tolist()
但是,输出是列表,而不是所期望的:
[['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']]
答案 0 :(得分:5)
df.names.tolist()
产生预期的结果:
>>> df.name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
例如:
>>> df=pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df
names
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
>>> df = pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df.names.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
确定要在获取df.names
之前不对值进行“分组”或执行其他“预处理”吗?
答案 1 :(得分:5)
您可以在tolist
系列上使用'column_name'
方法。请注意,my_string
是字符串的列表,而不是字符串。您分配的名称不合适。
>>> import pandas as pd
>>> df = pd.DataFrame(['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date'],
... columns=['column_name'])
>>> df
column_name
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
>>>
>>> df['column_name'].tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
如果您更喜欢点符号,则下面的代码会执行相同的操作。
>>> df.column_name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
答案 2 :(得分:2)
假设您有一个名为df的数据框,如下所示:
df
column_name
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
然后:
my_string = df.column_name.values.tolist()
或:
my_string = df['column_name'].values.tolist()
将为您提供所需的结果。这是打印my_string时的结果
['cc_call_center_sk',
'cc_call_center_id',
'cc_rec_start_date',
'cc_rec_end_date']
您要执行的操作是这样:
my_strings = df.values.tolist()
这将为您提供一个列表列表,外部列表中的列表数量等于您数据框中的观测值数量。每个列表将包含与1个观测有关的所有特征信息。
我希望我能向您解释清楚。 谢谢